插入排序
插入排序
插入排序思路:
列表被分为有序区和无序区两个部分。最初有序区只有一个元素。
每次从无序区选择一个元素,插入到有序区的位置,直到无序区变空。
时间复杂度:
O(n2)
def insert_sort(li): """ 插入排序法 :param li:无序列表 :return:None """ for i in range(1, len(li)): tmp = i j = i - 1 while j >= 0 and li[j] > tmp: li[j + 1] = li[i] j -= 1 li[j+1] = tmp li = list(range(1000)) random.shuffle(li) insert_sort(li) print(li)