C#堆排序实现方法
本文实例讲述了C#堆排序实现方法。分享给大家供大家参考。具体如下:
privatestaticvoidAdjust(int[]list,inti,intm)
{
intTemp=list[i];
intj=i*2+1;
while(j<=m)
{
//morechildren
if(j<m)
if(list[j]<list[j+1])
j=j+1;
//comparerootsandtheolderchildren
if(Temp<list[j])
{
list[i]=list[j];
i=j;
j=2*i+1;
}
else
{
j=m+1;
}
}
list[i]=Temp;
}
publicstaticvoidHeapSort(int[]list)
{
//buildtheinitialheap
for(inti=(list.Length-1)/2;i>=0;i-)
Adjust(list,i,list.Length-1);
//swaprootnodeandthelastheapnode
for(inti=list.Length-1;i>=1;i-)
{
intTemp=list[0];
list[0]=list[i];
list[i]=Temp;
Adjust(list,0,i-1);
}
}
希望本文所述对大家的C#程序设计有所帮助。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短