一起talk C栗子吧(第二十八回:C语言实例

一起talk C栗子吧(第二十八回:C语言实例–希尔排序)

分类:C语言例子

c语言希尔排序

各位看官们,大家好,上一回中咱们说的是插入排序的例子,这一回咱们说的例子是:希尔排序。闲话休

提,言归正转。让我们一起talk C栗子吧!

希尔排序是对插入排序的一种改进,希尔排序的原理:先将容器分成若干子容器,然后分别对子容器进行

插入排序,当子容器全部排序完毕后,对全部元素进行一次插入排序。

希尔排序的实现步骤:

1.选取一个增量,增量的大小可以自己定义,其大小在1到容器长度之间;

2.以容器头部到增量位置的元素为起点,从起点到容器尾部依次遍历容器;

3.在步骤2中的遍历过程中,选择一个当前位置的元素,再选择相距当前位置增量个位置的元素进行比较;

4.如果步骤3中的两个元素符合排序规则,回到步骤2;

5.如果步骤3中的两个元素不符合排序规则,那么进行一次选择排序;

6.减小增量的值,减小多少,可以自己定义,我在程序中减小了1;

7.反复执行步骤2到步骤6,直到增量值等于为止。

看官们,正文中就不写代码了,详细的代码放到了我的资源中,,大家可以点击这里下载使用。在希尔排序

中使用了插入排序,但是它的效率比插入排序要高,这全是增量的功劳。

各位看官,关于希尔排序的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解。

版权声明:本文为博主原创文章,未经博主允许不得转载。

上一篇一起talk C栗子吧(第二十七回:C语言实例–插入排序)下一篇一起talk C栗子吧(第二十九回:C语言实例–选择排序)

顶0踩0

可以提高你的水平。(戏从对手来。

一起talk C栗子吧(第二十八回:C语言实例

相关文章:

你感兴趣的文章:

标签云: