15 lines
470 B
Plaintext
15 lines
470 B
Plaintext
|
|
def quick_sort(arr):
|
|||
|
|
if len(arr) <= 1:
|
|||
|
|
return arr # 递归终止条件:数组长度为1或为空
|
|||
|
|
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))
|