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#程序设计有所帮助。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下