插入排序是一种怎样的排序

Posted 程序员的领域

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入排序是一种怎样的排序相关的知识,希望对你有一定的参考价值。

先来一段python代码:

# coding: utf-8"""插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而形成一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环针对除了第一个元素之外的所有元素,内层循环针对当前元素前面的有序表进行待插入位置的查找,并进行移动"""unsorted = [4, 2, 1, 3]print(unsorted)
if __name__ == '__main__': for index in range(1, len(unsorted)): # 从当前下标一直找到表头 # index用于控制从哪儿开始找,change_index用于控制交换条件 change_index = index while unsorted[change_index - 1] > unsorted[change_index] and\ change_index > 0: unsorted[change_index - 1], unsorted[change_index] =\ unsorted[change_index], unsorted[change_index - 1] print(unsorted) change_index -= 1


以下是代码的运行结果:

[4, 2, 1, 3][2, 4, 1, 3][2, 1, 4, 3][1, 2, 4, 3][1, 2, 3, 4]


为了对插入排序有更形象的了解,再来一组图片:


[4, 2, 1, 3]


[2, 4, 1, 3]

插入排序是一种怎样的排序


[2, 1, 4, 3]

插入排序是一种怎样的排序


[1, 2, 4, 3]


[1, 2, 3, 4]


以上是关于插入排序是一种怎样的排序的主要内容,如果未能解决你的问题,请参考以下文章

插入排序(直接插入排序折半插入排序希尔排序的算法思想及代码实现)

面试之插入排序算法

希尔排序

6.3 插入排序

希尔排序的介绍和希尔排序基本思想以及代码实现

插入排序算法详解及代码实现