0. 介绍
双向冒泡排序算法又叫做鸡尾酒排序
用动图来解释会更容易理解:
1. 代码实现
def bubble_sort(list):
for i in range(1, len(list)):
swapped = False
#从左至右比较排序
for j in range(0, len(list) - i):
if list[j] > list[j + 1]:
list[j], list[j + 1] = list[j + 1], list[j]
swapped = True
if swapped:
swapped = False
#从右至左比较排序
for j in range(len(list) - i, i, -1):
if list[j - 1] > list[j]:
list[j - 1], list[j] = list[j], list[j - 1]
swapped = True
elif not swapped: #没有交换则代表排序完成 break打破循环
break
return list
完整代码
import random
def bubble_sort(list):
for i in range(1, len(list)):
swapped = False
#从左至右比较排序
for j in range(0, len(list) - i):
if list[j] > list[j + 1]