# 总结:第一层for循环表示摸了几次牌,里面用了while循环,摸到的牌在和手里的牌比较时,记得将j移位
def insert_sort(li):
for i in range(1, len(li)): # i表示摸到的牌的下标
temp = li[i]
j = i - 1 # j表示的是手里的最后一张牌的下标
while j >= 0 and li[j] > temp:
li[j + 1] = li[j]
j -= 1
li[j + 1] = temp
return li
li = [5, 7, 6, 6, 9, 2, 3, 5]
print(insert_sort(li))
# 总结:这样更简单,记得交换了值之后把摸到的那张牌的下标带过来
def insert_sort(li):
for i in range(1, len(li)): # i表示摸到的牌的下标
for j in range(i - 1, -1, -1): # j表示的是手里的最后一张牌的下标
if li[i] < li[j]:
li[i], li[j] = li[j], li[i]
i -= 1
return li
li = [5, 7, 6, 6, 9, 2, 3, 5]
print(insert_sort(li))
插入排序算法
于 2023-04-23 20:56:46 首次发布