vlambda博客
学习文章列表

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

先来一段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]