Neste jogo vamos simular a execução do algoritmo Heapsort. Este algoritmo utiliza uma árvore-binária balanceada a esquerda
para realizar a ordenação.
Os passo executados pelo algoritmo são:
1) Transformar o vetor em uma árvore-heap;
2) Inversão dos valores da raíz com o último valor do vetor, considerando que o maior valor do vetor está na raíz;
3) Transformar o vetor novamente em uma árvore-heap e realizar a inversão dos valores da raíz com o último
elemento da árvore (última folha). Esta regra será repetida até o vetor estiver completamente ordenado.
Entendendo o tabuleiro
O tabuleiro possui 6 linhas, onde:
1)Na primeira linha estão os índices do vetor.
2)Na segunda linha temos o ponteiro "Variável i", a qual sempre será inicializada na posição "N" DIV 2" do vetor.
3)Na terceira linha temos os valores do vetor, os quais são escolhidos aleatoreamente.
4)Na quarta linha temos o ponteiro "Variável j" que é responsável pela verificação dos nós filhos.
5)Na quitna linha temos o ponteiro auxiliar "aAux" que identifica qual é o nó pai da subárvore.
6)Na sexta linha temos o tamanho do vetor, a qual chamamos de "N". Este vetor vai decrementar de 21 até 1 na
medida que o vetor vai sendo ordenado.
Botões do jogo
1)"Iniciar": começar o jogo de ordenação.
2)"Limpar tabuleiro": limpa os valores do vetor e posiciona os ponteiros nas posições iniciais do jogo.
3)"Finalizar": finaliza o jogo e mostra o resultado da ordenação
4)"Ajustar Valores": faz a inversão dos valores do ponteiro "aAux" e o ponteiro "Variável j".
5)"Remover a Raíz": faz a inversão do valor da raíz (primeira posição do vetor) com a última folha. E também
reduz o tamanho do vetor (n-1).