冒泡排序这 2 个小技巧,你了解吗?
Posted Python小例子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序这 2 个小技巧,你了解吗?相关的知识,希望对你有一定的参考价值。
def bubble_sort(our_list):
lastSwapIndex, sortBoundary = 0, len(our_list) - 1
for _ in range(len(our_list)):
flag = True # 标记数组是否有序
for j in range(0, sortBoundary):
if our_list[j] > our_list[j+1]:
our_list[j], our_list[j+1] = our_list[j +1], our_list[j] # swap elements
flag = False
lastSwapIndex = j # 标记最后一次交换位置
sortBoundary = lastSwapIndex # 比较一轮后,得到下一轮排序的边界
if flag:
break
return our_list
考虑下面三种输入的待排序序列 our_list:
-
整体无序
print(bubble_sort([3,5,1,3,8,7,9,4,5]))
-
局部无序
print(bubble_sort([1,2,3,5,4,6,7,8,9]))
-
完全有序
print(bubble_sort([1,2,3,4,5,6,7,8,9]))
长按二维码
加入「算法刷题日记」
以上是关于冒泡排序这 2 个小技巧,你了解吗?的主要内容,如果未能解决你的问题,请参考以下文章
面试官:冒泡插入选择这三种常见的排序算法你了解?为什么插入排序更受欢迎?