扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:李渭宁 来源:天极开发 2007年11月11日
关键字:
|
/// <summary> /// 小根堆排序 /// </summary> /// <param name="dblArray"></param> /// <param name="StartIndex"></param> /// <returns></returns> private static void HeapSort(ref double[] dblArray ) { for(int i = dblArray.Length -1 ; i >= 0; i--) { if(2*i+1<dblArray.Length) { int MinChildrenIndex = 2*i+1 ; //比较左子树和右子树,记录最小值的Index if(2*i+2 < dblArray.Length ) { if(dblArray[2*i+1]>dblArray[2*i+2]) MinChildrenIndex = 2*i+2; } if(dblArray[i] > dblArray[MinChildrenIndex]) { ExchageValue(ref dblArray[i],ref dblArray[MinChildrenIndex]); NodeSort(ref dblArray ,MinChildrenIndex); } } } } /// <summary> /// 节点排序 /// </summary> /// <param name="dblArray"></param> /// <param name="StartIndex"></param> private static void NodeSort(ref double[] dblArray,int StartIndex) { while(2*StartIndex+1 < dblArray.Length) { int MinChildrenIndex = 2*StartIndex+1 ; if(2*StartIndex+2 < dblArray.Length ) { if(dblArray[2*StartIndex+1]>dblArray[2*StartIndex+2]) { MinChildrenIndex = 2*StartIndex+2; } } if(dblArray[StartIndex] > dblArray[MinChildrenIndex]) { ExchageValue(ref dblArray[StartIndex],ref dblArray[MinChildrenIndex]); StartIndex = MinChildrenIndex ; } } } /// <summary> /// 交换值 /// </summary> /// <param name="A"></param> /// <param name="B"></param> private static void ExchageValue(ref double A , ref double B) { double Temp = A ; A = B ; B = Temp ; } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者