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 生日广州男生祝福语简短