1: /** @author Frank M. Carrano, Timothy M. Henry
2: @version 5.0 */
3: public static <T extends Comparable<? super T>>
4: void heapSort(T[] array, int n)
5: {
6: // Create first heap
7: for (int rootIndex = n / 2 - 1; rootIndex >= 0; rootIndex--)
8: reheap(array, rootIndex, n - 1);
10: swap(array, 0, n - 1);
12: for (int lastIndex = n - 2; lastIndex > 0; lastIndex--)
13: {
14: reheap(array, 0, lastIndex);
15: swap(array, 0, lastIndex);
16: } // end for
17: } // end heapSort