目录
什么是插入排序
插入排序可理解为扑克牌摸牌的过程,手中的牌为有序序列,然后随机摸一张牌,根据牌的大小插入到有序序列对应的位置。算法时间复杂度为O(n^2)
算法原理
- 默认列表第一个元素为基准,从第二个元素和第一个元素进行比较,并放入到相应位置。
- 此时前两个元素是一个有序数组,后n-2个是无序的, 再拿第三个元素依次和前两个进行比较,并放入到响应位置。
- 以此类推...
示例代码
# 升序排序
def insert_sort(list):
for i in range(1, len(list)):
j = i - 1 # 无序区元素前一个元素
temp = list[i] #记录待排序元素的值
while j >= 0 and list[j] > temp: # 依次和前面有序列表中元素进行比较
list[j + 1] = list[j] # 若list[i]比前一个元素小,则元素向后挪动
j -= 1
list[j + 1] = temp
print(list)
return list
标签:temp,示例,插入排序,元素,list,算法,四一
From: https://www.cnblogs.com/chase-youth/p/17904355.html