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 对转岗同学祝福语简短