以下是快速排序的算法实例,使用Python编写:

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[0]
    left = []
    right = []
    for i in range(1, len(arr)):
        if arr[i] < pivot:
            left.append(arr[i])
        else:
            right.append(arr[i])
    return quick_sort(left) + [pivot] + quick_sort(right)

# 测试
arr = [3, 1, 5, 2, 4]
sorted_arr = quick_sort(arr)
print(sorted_arr)  # 输出 [1, 2, 3, 4, 5]

在上述代码中,我们首先判断输入的数组长度是否小于等于1,如果是,则直接返回该数组。如果不是,我们选择数组中的第一个元素作为枢轴(pivot),然后将数组中剩余的元素分别与枢轴进行比较,小于枢轴的放在左边,大于等于枢轴的放在右边。然后对左右两个子数组进行递归操作,最终将左子数组、枢轴和右子数组连接起来得到排序后的数组。

快速排序的算法实例

原文地址: http://www.cveoy.top/t/topic/bFC8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录