Heapsort

From Wiki**3

Revision as of 15:50, 19 May 2005 by Root (talk | contribs) (Implementação)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Introdução

Implementação

 #define pq(A) a[l-1+A]
 void heapsort(Item a[], int l, int r) {
   int k, N = r-l+1;
   for (k = N/2; k >= 1; k--) 
     fixDown(&pq(0), k, N);
   while (N > 1) {
     exch(pq(1), pq(N)); 
     fixDown(&pq(0), 1, --N);
   }
 }