Python—插入排序算法
2020-12-13 05:52
标签:python dex 插入 code param while ram return and Python—插入排序算法 标签:python dex 插入 code param while ram return and 原文地址:https://www.cnblogs.com/zivli/p/11154582.html# 插入排序,时间复杂度O(n²)
def insert_sort(arr):
"""
插入排序;以朴克牌为例,从小到大排序。摸到的牌current与手里的每张牌进行对比,
手里的牌大于current,则手里的牌往后移;手里的最后一张牌小于current,current最大,结束循环。
:param arr:
:return:
"""
for i in range(1, len(arr)): # 摸到的牌的index
# 摸到的牌
current = arr[i]
# 手里最后一张牌的index
pre_index = i - 1
while pre_index >= 0 and arr[pre_index] > current:
arr[pre_index + 1] = arr[pre_index]
# 继续和前一张牌进行比较
pre_index -= 1
# 手里的最后一张牌小于current,current最大
arr[pre_index + 1] = current
return arr
num = [4, 5, 3, 7, 6, 9, 8, 10]
print(insert_sort(num))
下一篇:js 数组