排序算法之插入排序
2020-12-13 03:10
标签:def 下标 color 原理 序列 插入排序 com 位置 扫描 一、原理 将序列分为有序区和无序区两个部分,刚开始有序区只有一个元素,每次从无序区选择一个元素插入到有序区的位置,直到无序区为空。 关键点: 二、实现 总结: 原文:https://github.com/hustcc/JS-Sorting-Algorithm/blob/master/3.insertionSort.md 排序算法之插入排序 标签:def 下标 color 原理 序列 插入排序 com 位置 扫描 原文地址:https://www.cnblogs.com/shenjianping/p/11069967.html
def insert_sort(li):
for i in range(1,len(li)): #对无序区的元素进行循环,i表示第一个元素的下标,因为有序区已经有一个元素了
temp=li[i] #将无序区取出的元素进行保存
j=i-1 #是有序区的最后一个位置下标
while j>=0 and li[j]>temp: #j表示有序区的元素
li[j+1]=li[j] #将有序区的元素向后移动,因为从无序区已经取出一个元素,空了一个位置
j-=1 #有序区的元素继续向前循环比较
#将无序区的元素插入到有序区
li[j+1]=temp
l=[3,5,2,9]
insert_sort(l)
print(l) #[2, 3, 5, 9]