python 插入排序

mac2026-08-03  1

初始时手里(有序区)只有一张牌每次(从无序区)摸一张牌,插入到手里已有的正确位置

def insert_sort(li): for i in range(1, len(li)): #i 表示摸到的牌的下标 tmp = li[i] j = i -1 #j指的是手里的牌的下标 #大的牌进入 小的牌退出 while j >=0 and li[j] > tmp: #往右移动,大的牌往右走 新来的牌插入到j+1的位置 li[j+1] = li[j] #j的箭头往左移动 j -= 1 #插入j+1 li[j+1] = tmp print(li) li = [3,2,4,1,5,7,9,8] print(li) insert_sort(li) #print(i)

时间复杂度 O(n2)

最新回复(0)