int i, j, j2, k; int temp; for(k = (n>>1) - 1; k >= 0; k--) { temp = item[k]; for(j = k; (j<<1) <= n-2; j = i) { j2 = j <<1; if (j2+2 > n-1) i = j2+1; else { if (item[j2+1] < item[j2+2]) i = j2+2; else i = j2+1; } if (temp < item[i]) item[j] = item[i]; else break; } item[j] = temp; }... for(k=n-1; k>0; k--) { temp = item[k]; item[k] = item[0]; for(j = 0; (j<<1) <= k-2; j = i) { j2 = j<<1; if ( j2+2 > k-1 ) i = j2+1; else { if ( item[j2+1] < item[j2+2] ) i = j2+2; else i = j2+1; } if (temp < item[i]) item[j] = item[i]; else break; } item[j] = temp; } ...
Monday, 30 April 2012
Snippets of Heap Sort in C++
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment