少儿编程python算法之希尔排序

大家好,今天给大家介绍一种排序算法:希尔排序,运用少儿编程python语言来解答。

希尔排序的算法思想:将待排序数组按照步长gap进行分组,然后将每组的元素利用直接插入排序的方法进行排序;每次将gap折半减小,循环上述操作;当gap=1时,利用直接插入,完成排序。

同样的:从上面的描述中我们可以发现:希尔排序的总体实现应该由三个循环完成:

第一层循环:将gap依次折半,对序列进行分组,直到gap=1

第二、三层循环:也即直接插入排序所需要的两次循环。具体描述见上。

[样例运行结果如图]

那么代码是如何实现的呢?

你可能感兴趣的:(少儿编程python算法之希尔排序)