2025-10-20 13:10:51 +00:00
|
|
|
def quick_sort(arr):
|
|
|
|
|
if len(arr) <= 1:
|
2025-10-20 13:34:24 +00:00
|
|
|
return arr
|
2025-10-20 13:10:51 +00:00
|
|
|
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 示例
|
|
|
|
|
nums = [3, 6, 8, 10, 1, 2, 1]
|
|
|
|
|
print("排序前:", nums)
|
|
|
|
|
print("排序后:", quick_sort(nums))
|