def QuickSort(data):
"""快速排序"""
if len(data) >= 2: # 递归入口及出口
mid = data[len(data) // 2] # 选取基准值,也可以选取第一个或最后一个元素
left, right = [], [] # 定义基准值左右两侧的列表
data.remove(mid) # 从原始数组中移除基准值
for num in data:
if num >= mid:
right.append(num)
else:
left.append(num)
return QuickSort(left) + [mid] + QuickSort(right)
else:
return data
array = [2, 3, 5, 7, 1, 4, 6, 15, 5, 2, 7, 9, 10, 15, 9, 17, 12]
print(QuickSort(array))
def bubbleSort(arr):
# 冒泡排序
n = len(arr)
for i in range(n):
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
arr = [45, 36, 25, 12, 22, 11, 0]
bubbleSort(arr)
Python快排与冒泡排序算法(笔记)
猜你喜欢
转载自blog.csdn.net/u012002125/article/details/102467799
今日推荐
周排行