# 冒泡
# 復(fù)雜度n^2
def BubbleSort(array):
? ? length = len(array)
? ? for i in range(length):
? ? ? ? for j in range(length-i-1):
? ? ? ? ? ? if array[j] > array[j+1]: array[j+1], array[j] = array[j], array[j+1]
? ? return array
# 快排
def quick_sort(b):
? ? """快速排序"""
? ? if len(b) < 2:
? ? ? ? return arr
? ? # 選取基準(zhǔn),隨便選哪個(gè)都可以,選中間的便于理解
? ? mid = arr[len(b) // 2]
? ? # 定義基準(zhǔn)值左右兩個(gè)數(shù)列
? ? left, right = [], []
? ? # 從原始數(shù)組中移除基準(zhǔn)值
? ? b.remove(mid)
? ? for item in b:
? ? ? ? # 大于基準(zhǔn)值放右邊
? ? ? ? if item >= mid:
? ? ? ? ? ? right.append(item)
? ? ? ? else:
? ? ? ? ? ? # 小于基準(zhǔn)值放左邊
? ? ? ? ? ? left.append(item)
? ? # 使用迭代進(jìn)行比較
? ? return quick_sort(left) + [mid] + quick_sort(right)
堆排序
# 桶排序