# 选择排序就是找到后面最小值的索引,和第一个值对比 def select_sort(li): for i in range(len(li)-1): # n或者n-1趟 # 第i趟无序区范围 i~最后 min_pos = i # min_pos更新为无序区最小值位置 for j in range(i+1, len(li)): if li[j] < li[min_pos]: min_pos = j li[i], li[min_pos] = li[min_pos], li[i] li = list(range(0,100)) random.shuffle(li) select_sort(li) print(li)
def insert_sort(li): for i in range(1, len(li)): # i表示摸到的牌的下标 tmp = li[i] # 摸到的牌 j = i - 1 while j >= 0 and li[j] > tmp: # 只要日后挪就循环 2个条件都得知足 # 若是 j=-1 中止挪 若是li[j]小了 中止挪 li[j+1] = li[j] j -= 1 # j位置在循环结束的时候要么是-1要么是一个比tmp小的值 li[j+1] = tmp li = list(range(10000)) random.shuffle(li) insert_sort(li)