插入排序
1 import random 2 from cal_time import cal_time 3 4 5 @cal_time 6 def insert_sort(_list): 7 for i in range(len(_list) - 1): 8 j = i 9 next_num = _list[j + 1] # 要插入元素 10 while j >= 0 and next_num < _list[j]: 11 _list[j + 1] = _list[j] 12 j -= 1 13 _list[j + 1] = next_num 14 print(_list) 15 16 17 if __name__ == '__main__': 18 # lis = [random.randint(0,100) for i in range(20)] 19 lis = list(range(200)) 20 random.shuffle(lis) 21 print(lis) 22 insert_sort(lis)
插入排序是稳定的。

浙公网安备 33010602011771号