Python实现快速排序算法

 Python实现快速排序算法

下面是使用 Python 实现的快速排序算法的示例代码:

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        less_than_pivot = [x for x in arr[1:] if x <= pivot]
        greater_than_pivot = [x for x in arr[1:] if x > pivot]
        return quick_sort(less_than_pivot) + [pivot] + quick_sort(greater_than_pivot)

# 示例
arr = [3, 6, 8, 10, 1, 2, 1]
sorted_arr = quick_sort(arr)
print("排序后的数组:", sorted_arr)

函数 quick_sort 接受一个数组作为输入,并返回已排序的数组。在函数内部,首先检查数组的长度。如果数组长度小于等于1,则返回该数组,因为一个元素或空数组已经是排序好的。否则,选择数组中的第一个元素作为枢纽(pivot),然后将数组分为两个部分:一个包含所有小于等于枢纽的元素,另一个包含所有大于枢纽的元素。然后,对这两个部分分别递归地进行快速排序,并将它们与枢纽连接起来。最终,你会得到一个完全排序好的数组

 Python实现快速排序算法

下面是使用 Python 实现的快速排序算法的示例代码:

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        less_than_pivot = [x for x in arr[1:] if x <= pivot]
        greater_than_pivot = [x for x in arr[1:] if x > pivot]
        return quick_sort(less_than_pivot) + [pivot] + quick_sort(greater_than_pivot)

# 示例
arr = [3, 6, 8, 10, 1, 2, 1]
sorted_arr = quick_sort(arr)
print("排序后的数组:", sorted_arr)

函数 quick_sort 接受一个数组作为输入,并返回已排序的数组。在函数内部,首先检查数组的长度。如果数组长度小于等于1,则返回该数组,因为一个元素或空数组已经是排序好的。否则,选择数组中的第一个元素作为枢纽(pivot),然后将数组分为两个部分:一个包含所有小于等于枢纽的元素,另一个包含所有大于枢纽的元素。然后,对这两个部分分别递归地进行快速排序,并将它们与枢纽连接起来。最终,你会得到一个完全排序好的数组

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在