希尔排序
2016-03-07 07:54
267 查看
思想:把元素按步长分组,对每组元素按直接插入排序算法排序。
时间复杂度:O(nlgn),最差O(n^1.3)
稳定性:不稳定
时间复杂度:O(nlgn),最差O(n^1.3)
稳定性:不稳定
void ShellSort (int* A, int length) { if (A == NULL || length < 1) { return; } int gap = length / 2; while(gap >= 1) { for (int i = gap; i < length; ++i) { int j = i - gap; int key = A[i]; while(j >= 0 && A[j] >= key) { A[j+gap] = A[j]; j -= gap; } A[j+gap] = key; } gap /= 2; } }
相关文章推荐
- lintcode-easy-Sqrt(x)
- VLC使用DMB-TH电视卡看免费节目
- DE 32: Limit Cycles
- Android应用界面开发-控件+布局 笔记
- test
- xcode7.2网盘分流地址
- 153. Find Minimum in Rotated Sorted Array
- poj 2031 Building a Space Station
- linux 分区
- 动画参数
- lintcode-easy-Space Replacement
- Zoi选项 — Insure抑制功能
- mac邮件中转发出现乱码
- 女程序员职业发展的特别之处
- GeekBand - C++课程
- 常用命令
- Hibernate 缓存机制
- LR常用函数整理
- 当技术已经产品
- OSChina 周一乱弹 ——致我们终将逝去的青春