目录
前言
算法排序————插入排序
除了冒泡和选择排序,简绍另一种时间复杂度同样为O(n^2)的排序方法,插入排序
一、原理
首先有一个列表为[5,7,3,4,6]
以5为第一个数,7与5进行对比
发现7比5大所以位置不变
接下来就往后跳一个为7和3的比较
发现7比3大,则7左移动一个位置,3与5进行比较
发现3比5小,所以5也左移动一位,3已经没有数与其比较这放到5的位置上
所以依次类推7又与4比较,步骤一样最终完成排序
二、使用步骤
1.引入库
代码如下(示例):
import random #输出随机数
2.读入数据
代码如下(示例):
这里用了random随机生成的列表替代了[5,7,3,4,6]列表
import random #输出随机数
def func(li):
for i in range(1, len(li)):#从1开始,0作为第一个比较的数
temp = li[i]#存入比较的数
j = i - 1#j下标从0开始
while j >= 0 and li[j] > temp:#j不能小于0而且li[j] > temp才继续循环
li[j + 1] = li[j]
j = j - 1#指向前一个数的下标
li[j + 1] = temp
li = [random.randint(0, 1000) for i in range(0, 1000)]#生成1000随机大小的随机数
print(li)#打印原列表
func(li)
print(li)#打印排序后的列表
总结
以上就是今天要讲的内容,本文仅仅简单介绍了插入排序的使用,如果还想知道其他算法,私信或者留言