八大内部排序--希尔排序
来源:互联网 发布:软件缺陷生命周期 编辑:程序博客网 时间:2024/05/16 14:57
希尔排序(shell sort):先将整个带排序记录序列分割成若干个子序列分别进行直接插入排序,待整个序列的记录‘基本有序’时,再对全体记录进行一次直接的插入排序。
时间复杂度:O(n^1.5) 属于插入排序的一种,是稳定的排序
代码如下:
/***** shell-sort 希尔排序 稳定的排序 O(n^1.5)******/#include <iostream>using namespace std;void print(int *a,int n){ for(int i=0;i<n;i++){ cout<<a[i]<<" "; } cout<<endl;}void shell_sort(int *a,int n){ for(int step = n/2;step>=1;step/=2){ for(int i=step;i<n;i++){ if(a[i]<a[i-step]){ int val = a[i]; a[i] = a[i-step]; int j = i-step-step; while(j>=0 && a[j]>val){ a[j+step] = a[j]; j-=step; } a[j+step] = val; } } }}int main(){ int *a; int n; cin>>n; a= new int[n+1]; for(int i=0;i<n;i++){ cin>>a[i]; } shell_sort(a,n); print(a,n); return 0;}
0 0
- 八大内部排序--希尔排序
- 八大排序--希尔排序
- 八大排序之希尔排序
- 八大排序之希尔排序
- 八大排序之希尔排序
- 八大排序算法-希尔排序
- 八大内部排序算法
- 内部 八大排序算法
- 八大内部排序--快速排序
- 八大内部排序 -- 选择排序
- 八大内部排序 -- 堆排序
- 八大内部排序 -- 归并排序
- 内部插入排序---希尔排序
- 内部排序—希尔排序
- 内部排序算法:希尔排序
- 八大排序算法之希尔排序
- 八大排序算法(二)希尔排序
- 八大排序——希尔排序
- Java解析json——Jackson
- Spring Integration
- 特征选择与特征学习
- Java中synchronized使用的一点见解
- MogileFS与FastDFS的个人见解
- 八大内部排序--希尔排序
- javascript有哪些方法能够实现继承
- docker搭建hadoop分布式集群
- swift+UIPageViewController 纯代码实现引导页
- 字典,数组转化为JsonStr
- 获取shell脚本或命令输出
- Spring Security 3.1 中功能强大的加密工具 PasswordEncoder
- Unity5.0新特性 StateMachineBehaviours
- IOS设计规范一