REGRAS DO JOGO HEAPSORT

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).

Veja abaixo a simulação do Heapsort: