欢迎访问宙启技术站
智能推送

排序算法:Python中的快速排序函数

发布时间:2023-07-06 16:41:12

快速排序是一种常用的排序算法,在Python中可以通过使用递归函数来实现。

快速排序的基本思想是选择一个基准元素,将序列分成左右两部分,将小于等于基准元素的放在左边,大于基准元素的放在右边,再递归地对左右两部分进行排序,最终得到一个有序序列。

下面是一个基于递归实现的快速排序函数的例子:

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr) // 2]  # 选择基准元素
    left = [x for x in arr if x < pivot]  # 小于基准元素的部分
    middle = [x for x in arr if x == pivot]  # 等于基准元素的部分
    right = [x for x in arr if x > pivot]  # 大于基准元素的部分
    return quick_sort(left) + middle + quick_sort(right)  # 递归地对左右两部分进行排序

# 测试
arr = [5, 2, 9, 1, 3, 7, 6, 4, 8]
sorted_arr = quick_sort(arr)
print(sorted_arr)

运行结果为:[1, 2, 3, 4, 5, 6, 7, 8, 9]

快速排序的时间复杂度为O(nlogn),是一种相对高效的排序算法。