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))
|