概述
算法思想:给定一个数组l,第一次比较索引0-0上位置的数,第二次比较索引0-1上位置的数,第二次相对第一次,只有索引1是新的数,将索引1的数依次与之前排好序的数比较,如果小于则交换位置
def insert_sort(l: list):
n = len(l)
if n < 2:
return l
for i in range(n):
index = i
while index - 1 >= 0 and l[index - 1] > l[index]:
"""
第一轮循环:index=0,index-1不满足,不走while
第二轮循环,index=1,满足走while,比较列表索引0和索引1上的值,如果索引1值小于索引0,则交换变量
index-=1,跳出while
第三轮循环,同上
"""
l[index], l[index - 1] = l[index - 1], l[index]
index -= 1
return l
if __name__ == '__main__':
l = [7, 3, 5, 2, 5, 3, 6, 10]
# [2, 3, 3, 5, 5, 6, 7, 10]
print(insert_sort(l))
最后
以上就是欣慰机器猫为你收集整理的Python实现插入排序的全部内容,希望文章能够帮你解决Python实现插入排序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复