private static void heapSort(int[] array, int length) {
int end=length-1;
while(end>1){
while(true){
int p=end/2;
int tag=0;
while(p>=0){
if(array[p]<array[2*p]){
int temp=array[p];
array[p]=array[2*p];
array[2*p]=temp;
tag=1;
}
if((2*p+1)<=end && array[p]<array[2*p+1]){
int temp=array[p];
array[p]=array[2*p+1];
array[2*p+1]=temp;
tag=1;
}
p--;
}
if (tag==0) break;
}
int t=array[0];
array[0]=array[end];
array[end]=t;
end--;
}
}
堆排序
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.