前言:
此时咱们对“希尔排序算法代码c”大致比较关切,各位老铁们都想要了解一些“希尔排序算法代码c”的相关文章。那么小编也在网络上搜集了一些对于“希尔排序算法代码c””的相关知识,希望同学们能喜欢,姐妹们快快来学习一下吧!希尔排序:是插入排序的一种改进方法。通过增量数组进行对数组的排序。
/// <summary> /// 5.希尔排序 /// </summary> /// <param name="array">排序数组</param> /// <param name="func">委托方法</param> public static void Shell_Sort(E[] array, Func<E, E, bool> func) { int length = array.Length; //分段数 //int step = array.Length%PART ==0?array.Length/3:array.Length/3+1; int step = length / 2; while(step >1) { //循环 for(int i = step; i < length; i++) { E currentElement = array[i]; int preIndex = i - step; //通过step计算位置 while(preIndex >=0 && func(array[preIndex], currentElement)) { array[preIndex + step] = array[preIndex]; preIndex -= step; } array[preIndex + step] = currentElement; } step /= 2; } }
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #希尔排序算法代码c