(29)希尔排序
来源:互联网 发布:广州网络推广经理招聘 编辑:程序博客网 时间:2024/05/21 22:50
基本思想是:将待排序的记录划分成几组,从而减少参与直接插入排序的数据量,当经过几次分组排序后,记录的排序已经基本有序,再对所有的记录实施最后的直接插入排序。
希尔对记录的分组,不是将相邻记录分为一组,而是将相隔一定距离的记录分为一组。
希尔排序适合用于待排序数目较大的情况,而且希尔排序的性能与选定增量序列有关。
代码:
#include<iostream>using namespace std;void shellSort(int num[],int n) {for (int d = n / 2; d >= 1; d /= 2) {for (int i = 0 + d; i < n; i++) {int tem = num[i];int j = i - d;while (j >= 0 && tem < num[j]) {num[j + d] = num[j];j -= d;}num[j + d] = tem;}}}void main(){int num[12] = { 10,6,2,33,15,12,23,76,1,54,22,9 };shellSort(num, 12);for (auto x : num) {cout << x << " ";}cout << endl;system("pause");}
0 0
- (29)希尔排序
- 排序(希尔排序)
- 希尔(Shell)排序
- 希尔排序(不稳定)
- 希尔(shell)排序
- 希尔(shell)排序
- 希尔排序(ShellSort)
- 希尔排序(上)
- 希尔排序(下)
- 希尔排序 (ShellSort)
- 希尔排序(shell)
- 希尔(shell)排序
- 希尔排序(shell)
- 希尔排序(Shellsort)
- (12)希尔排序
- 希尔排序(c++)
- (Java)希尔排序
- 希尔排序(ShellSort)
- 12 个 CSS 高级技巧汇总
- CentOS7安装Nginx
- CPU卡程序设计实例(十八)命令体函数
- 驱动精灵
- Android基础知识系谱图!一张图读懂技术要点
- (29)希尔排序
- Zookeeper概念
- AC Me
- CPU卡程序设计实例(十九)取响应数据命令
- NYOJ 227 && poj1556 判断直线相交
- 赛码网 周考 4.28
- Autoware-Pure_pursuit代码解析
- CPU卡程序设计实例(二十)8字节随机数读取
- CentOS7 删除乱码目录