排序算法总结 (Python实现)
算法一:插入排序算法思想:初始时(有序区)只有一张牌;每次(从无序区)拿出一张牌,插入到手里已有牌的正确位置
def insert_sort(li):
for i in range(1,len(li)): #表示摸到的牌的下标
tmp = li[i]
j = i -1 #j指的是手里的牌的下标
while j >= 0 and li[j] > tmp: #当手中的牌存在并且手中的牌的数字大于摸到的牌的数字
li[i] = li[j] # 把手中的牌的位置与摸到的牌的位置交换
j -= 1 # 手中牌的位置向左更新
li[j+1] = tmp # 当手中的牌小于摸到的牌的时候,把此时摸到的牌更新为手中的牌
li = [1,2,3,4,8,6,7,7]
insert_sort(li)
print(li)
算法二:希尔排序(分组插
共有 0 条评论