java 堆排序
Posted 沙漠里的小鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 堆排序相关的知识,希望对你有一定的参考价值。
public void heapSort(int[] arry){ int len= arry.length -1 ; for(int i = (len-1)/2 ;i>=0 ;i--){ buildHeap(arry,i,len); } for(int i = len ;i >0 ;i--){ swap(arry,0 ,i) ; buildHeap(arry,0,i-1); } System.out.println("arry数组"+arry); }
public void buildHeap(int[] arry,int index,int len){ int temp=arry[index]; for(int i = 2*index+1 ;i<=len ;i=i*2+1){ if (i < len && arry[i] < arry[i+1]){ i++ ; } if (temp >= arry[i]){ break; } arry[index] =arry[i]; index = i ; } arry[index] = temp ; }
public void swap(int[] arry ,int left ,int right){ int temp =arry[left] ; arry[left] =arry[right] ; arry[right] = temp ; }
以上是关于java 堆排序的主要内容,如果未能解决你的问题,请参考以下文章