A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Ordenação Heap Sort TPA – Prof. Mateus Costa. Solução da Wikipedia void heapsort(char a[], int n) { int i = n/2, pai, filho; char t; for (;;) { if (i.

Apresentações semelhantes


Apresentação em tema: "Ordenação Heap Sort TPA – Prof. Mateus Costa. Solução da Wikipedia void heapsort(char a[], int n) { int i = n/2, pai, filho; char t; for (;;) { if (i."— Transcrição da apresentação:

1 Ordenação Heap Sort TPA – Prof. Mateus Costa

2 Solução da Wikipedia void heapsort(char a[], int n) { int i = n/2, pai, filho; char t; for (;;) { if (i > 0) { i--; t = a[i]; } else { n--; if (n == 0) return; t = a[n]; a[n] = a[0]; } pai = i; filho = i*2 + 1; while (filho < n) { if ((filho + 1 a[filho])) filho++; if (a[filho] > t) { a[pai] = a[filho]; pai = filho; filho = pai*2 + 1; } else break; } a[pai] = t; }

3 Minha Versão: Construindo o heap void constroiHeap(char a[], int esq, int dir) { int i; char aux; i = (esq + dir)/2; while(i >=esq) { if ((a[2*i] < a[2*i+1]) && (2*i+1 <=dir)) troca(&a[2*i],&a[2*i+1]); if (a[i]

4 Minha Versão: Usando o Heap para ordenar void meuHeapSort(char a[], int n) { int esq=0,dir=n-1; while(dir>1) { constroiHeap(a,esq,dir); troca(&a[esq],&a[dir]); dir--; }


Carregar ppt "Ordenação Heap Sort TPA – Prof. Mateus Costa. Solução da Wikipedia void heapsort(char a[], int n) { int i = n/2, pai, filho; char t; for (;;) { if (i."

Apresentações semelhantes


Anúncios Google