1. 图解
2, 代码
from typing import List
class Solution:
# 快速排序
def quick_sort(self, nums: List[int]) -> List[int]:
less = list()
more = list()
cur = list()
# 递归出口
if len(nums) < 1:
return nums
else:
# 将第一个值作为基准
pivot = nums[0]
for num in nums:
# 将比基准值小的放到less 数列
if num < pivot:
less.append(num)
elif num > pivot:
more.append(num)
else:
cur.append(num)
less = self.quick_sort(less)
more = self.quick_sort(more)
return less + cur + more
if __name__ == "__main__":
s = Solution()
nums = [3,4,2,1,3,4,5,67,19]
a = s.quick_sort(nums)
print(a)