算法储备之希尔排序
来源:互联网 发布:linux翻看历史命令记录 编辑:程序博客网 时间:2024/05/22 14:02
希尔排序①:
void ShellSort1(int * pArr, int length){for (int gap = length / 2;gap > 0;gap /= 2)for (int i = 0;i < gap;i++)for (int j = i + gap;j < length;j += gap)if (pArr[j] < pArr[j - gap]){int k, temp = pArr[j];for (k = j - gap;k >= 0 && pArr[k] > temp;k -= gap)pArr[k + gap] = pArr[k];pArr[k + gap] = temp;}}
希尔排序②:
void ShellSort2(int * pArr, int length){for (int gap = length / 2;gap > 0;gap /= 2)for (int i = gap;i < length;i++)if (pArr[i] < pArr[i - gap]){int k, temp = pArr[i];for (k = i - gap;k >= 0 && pArr[k] > temp;k -= gap)pArr[k + gap] = pArr[k];pArr[k + gap] = temp;}}
第一种方法:一组排序完再进行下一组的排序,对于每一次分组,需要进行length次for循环。
第二种方法:轮询执行每一组的一个元素,对于每一次分组,需要执行length-gap次for循环,
参考:白话经典算法系列之三 希尔排序的实现
阅读全文
0 0
- 算法储备之希尔排序
- 算法储备之快速排序
- 算法储备之堆排序
- 算法之希尔排序
- 算法之希尔排序
- 算法之希尔排序
- 算法之希尔排序
- 算法储备之归并排序(分治法)
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- elasticSearch 5.0.0 安装部署常见错误或问题
- 第三章实验题
- 输入半径计算出圆的面积和周长
- 三角形的判定
- django学习——pip list中出现如下警告
- 算法储备之希尔排序
- hdu1235 统计同成绩学生人数
- 在一些报表中如何设置图表联动?
- ue4 如何让android与pc通讯,android端只显示umg,如何隐藏android的人物
- JVM之运行时数据区域
- Codeforces Round #441 (Div. 2, by Moscow Team Olympiad) E. National Property (2-SAT问题)
- 第一章
- 互联网数据库“跨库分页”架构技术实践
- L1-039. 古风排版