Python快排与冒泡排序算法(笔记)

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)

猜你喜欢

转载自blog.csdn.net/u012002125/article/details/102467799
今日推荐