Python – 直接插入排序算法

直接插入排序
把 n 个待排序的元素看成一个有序表和一个无序表,
开始时有序表中只有一个元素,无序表中有 n-1 个元素。
排序过程即每次从无序表中取出第一个元素,
将它插入到有序表中,使之成为新的有序表,重复 n-1 次完成整个排序过程。


def insertSort(unsorted_list, reversed=False):
print("raw: ", unsorted_list)
for i in range(1, len(unsorted_list)):
j = i-1
cmp = unsorted_list[i]
while j > -1 and func(unsorted_list[j], cmp, reversed):
unsorted_list[j+1], unsorted_list[j] = unsorted_list[j], cmp
j -= 1
print("NO.%d:" % i, unsorted_list)
print("last:", unsorted_list)
return unsorted_list

© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发

请登录后发表评论