首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

抉择排序-堆排序

2012-12-21 
选择排序--堆排序堆排序算法如下:public void HeapSort(int[] a, int length){int tempint loclength/2-

选择排序--堆排序
堆排序算法如下:

public void HeapSort(int[] a, int length){int temp;int loc=length/2-1;for(int i=loc;i>=0;i--)AdjustHeap(a,i,length-1);for(int j=a.length-1;j>=1;j--){temp=a[0];a[0]=a[j];a[j]=temp;AdjustHeap(a,0,j-1);}}public void AdjustHeap(int[] a, int low, int length){int key=a[low];int i;for(i=2*low;i<=length-1;i*=2){if(i+2<=length && a[i+2]>=a[i+1])i++;if(key>a[i+1])break;a[low]=a[i+1];low=i+1;i++;}a[low]=key;}

数据结构排序算法总结,C++版,参看地址http://www.cnblogs.com/mingcn/archive/2010/10/17/Sort.html#4

热点排行