首页 > 代码库 > Java学习资料-Java常用算法-堆排序
Java学习资料-Java常用算法-堆排序
/**
* 堆排序
*
* @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);
}
}
Java学习资料-Java常用算法-堆排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。