标签:
/**
* 堆排序
*
* @param array
* @param length
*/
public void heapSort(int[] array, int length) {
// 调整为大根堆的形式
// 存储根堆的元素个数
int currentSize = length;
int start = (currentSize - 2) >>> 1;
while (start >= 0) {
siftDown(array, start, currentSize - 1);
start--;
}
int end = array.length - 1;
while (end > 0) {
swap(array, 0, end);
end--;
siftDown(array, 0, end);
}
}
标签:
原文地址:http://my.oschina.net/ysh3940/blog/372807