aiaiask.com©

开花即结果 提问即答案

写一个快速排序
原始问题:

写一个快速排序

快速排序是一种基于分治思想的排序算法,其基本思路是选择一个基准元素,将数组分成左右两个子数组,分别对左右子数组进行递归排序,最终得到有序数组。

以下是一个简单的快速排序实现:

def quick_sort(arr):  
    if len(arr) <= 1:  
        return arr  
    else:  
        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)  

该实现中,首先判断数组长度是否小于等于1,如果是则直接返回原数组。否则选择第一个元素作为基准元素,然后遍历数组,将小于基准元素的放入左子数组,大于等于基准元素的放入右子数组。最后递归对左右子数组进行排序,并将结果合并返回即可。

写一个快速排序
AI / 模型DeepSeek
时间 / DATESeptember 13, 2023, 10:05 PM
语言zh-CN
IP / 区域广东 广州