1.1 插入排序
"""
假设排序位置前面的元素已经是有序,当前元素依次往前遍历,小于前一个元素就交换,直到找到插入位置
"""
def insert_sort(arr):
"""
插入排序
:param arr: 待排序数组
:return:
"""
len_arr = len(arr)
if len_arr < 2:
return
for i in range(len_arr):
# 从当前位置i开始,依次和前一个值比较,小于前一个值时,进行交换,直到不比前一个值小
for j in range(i, 0, -1):
if arr[j] < arr[j-1]:
arr[j], arr[j-1] = arr[j-1], arr[j]
if __name__ == '__main__':
import random
def get_list(n=10, min_num=0, max_num=10):
return [random.randint(min_num, max_num) for _ in range(n)]
arr_list = get_list()
print(arr_list)
insert_sort(arr_list)
print(arr_list)