2025年数据结构-希尔排序

数据结构-希尔排序基本思想 先将整个待排记录分成若干个子待排记录 分别将子待排进行直接插入排序 然后得到 基本有序 的整体记录 最后对整体记录进行一次直接插入排序 完成希尔排序 图示 代码 ShellSort int p int length int dalt

大家好,我是讯享网,很高兴认识大家。

基本思想:先将整个待排记录分成若干个子待排记录,分别将子待排进行直接插入排序,然后得到“基本有序”的整体记录,最后对整体记录进行一次直接插入排序,完成希尔排序。

图示

多余的留白
讯享网

代码

ShellSort(int* p, int length) { int dalt = length / 2;//增量 while (dalt>=1) //增量终止条件 { for (int i = dalt;dalt<length &&i < length; i++)//从位置dalt to length 去循环 看成是length-dalt个字串 { int temp = p[i]; int j = i - dalt; while (j>=0&&p[j]>temp)//找到temp插入的位置A { p[j+dalt] = p[j]; j = j - dalt; } p[j+dalt] = temp; //插入到A位置 } dalt /= 2; //增量递减方式 } } 

讯享网

结果:


小讯
上一篇 2025-01-18 08:42
下一篇 2025-01-15 08:13

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/43546.html