希尔排序及其优化
来源:互联网 发布:淘宝舞帝商城 编辑:程序博客网 时间:2024/06/07 13:03
希尔排序的本质就是分组插入排序,希尔排序也叫缩小增量排序。
该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的 元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因此希尔排序在时间效率上比前两种方法有较大提高。
void ShellSort1(int* array,int n){ if(array==NULL||n<1) return; for(intgrap=n/2;grap>0;grap/=2) { for(inti=0;i<grap;i++) { for(intj=i+grap;j<n;j+=grap) { if(array[j]<array[j-grap]) { intk=j; intkey=array[k]; while(k>=grap&&array[k-grap]>key){ array[k]=array[k-grap]; k-=grap; } array[k]=key; } } } }}
void ShellSort2(int* array,int n){ if(array==NULL||n<1) return; for(intgrap=n/2;grap>0;grap/=2) { for(inti=grap;i<n;i++) { if(array[i]<array[i-grap]) { intkey=array[i]; intk=i; while(k>=grap&&array[k-grap]>key) { array[k]=array[k-grap]; k-=grap; } array[k]=key; } } }}
0 0
- 希尔排序及其优化
- 希尔排序及其优化方案
- 希尔排序及其分析
- 快排,归并排序,希尔排序,插入排序等十大排序及其优化
- 希尔排序和优化
- 希尔排序法优化
- 快速排序及其优化
- 快速排序及其优化
- 冒泡排序及其优化
- 插入排序及其优化
- 冒泡排序及其优化
- 冒泡排序及其优化
- 快速排序及其优化
- 冒泡排序及其优化
- 快速排序及其优化
- 快速排序及其优化
- 冒泡排序及其优化
- 冒泡排序及其优化
- 【km笔记】java之面向对象(01)
- 堆排序算法
- 桶式排序算法
- poj 1251 Jungle Roads 最小生成树
- PHP在不同页面间传递Json数据示例代码
- 希尔排序及其优化
- Cocos2D-x游戏开发之十五:CCTMXTiledMap地图的基础实例
- 关于筛法
- postgres 必须知道的命令
- MathDemo
- package cn.xiaolu
- 排序
- oracle小贱
- catch(Exception e)