希尔排序
来源:互联网 发布:centos搭建邮箱服务器 编辑:程序博客网 时间:2024/05/29 02:54
希尔排序是插入排序的优化,因为插入排序适合用于大部分数据已经排序好了的序列,不是稳定排序,任何情况下的时间复杂度为o(n^1.5),只需一个额外辅助空间o(1)。排序的原则是将数据划分成特定间隔的几个子集,以插入排序法排完子集内的数据后再渐渐减少间隔距离。
#include<iostream>#include<stdlib.h>using namespace std;void xier(int num[],int len){for(int m=len/2;m>0;m--)//间隔距离逐渐减少{for(int i=0;i<len;i++)//依次插入待排序中的值{int j;int key=num[i];//将待排数值设为定值,以免后面移动时出错for(j=i-m;j>=0&&key<num[j];j=j-m)//以m为间隔,比较属于同一组的数据num[j+m]=num[j];num[j+m]=key;}}}int main(){int len=5;int num[5];for(int i=0;i<5;i++)cin>>num[i];xier(num,len);for(int i=0;i<5;i++)cout<<num[i];system("pause");return 0;}
0 0
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 鼎信通讯公司学习信息收集----阿冬专栏
- 多篇用DL做Semantic Segmentation的文章总结
- 337 leetcode House Robber III
- 分支结构程序设计 项目1-正差值
- Android的各种Drawable 讲解 大全
- 希尔排序
- opensips之opensipsdbctl
- oozie sharelib问题
- 何为APIs DX(开发者体验),为何其如此重要
- python3.4学习笔记(十六) windows下面安装easy_install和pip教程
- com/android/dx/command/dexer/Main:Unsupported major.minor version 52.0 问题的解决方法总结
- java中的枚举
- eclipse使用总结
- 自定义View的一些疑点