算法实现
def insert_sort(data_set):
n = len(data_set)
for i in range(1, n): # 初始的有序区只包含第一个元素,将后面的元素插入有序区
tmp = data_set[i] # 第i趟,将dataset[i]插入到有序区
j = i -1
while j >= 0 and data_set[j] > tmp:
data_set[j+1] = data_set[j]
j -= 1
data_set[j+1] = tmp
if __name__ == '__main__':
li = [37, 6, 45, 32, 79, 79, 93, 57, 22, 21, 3, 43, 28, 85, 50, 4, 20, 1, 23, 98]
insert_sort(li)
print(li)
复杂度分析
O(n²)