快速排序(python版)
快速排序写两个函数,一个是partition部分
def partition(nums, left, right): p = nums[left] while left < right: while left < right and nums[right] > p: right -= 1 nums[left] = nums[right] while left < right and nums[left] <= p: left += 1 nums[right] = nums[left] nums[left] = p return left
第二个是quick_sort部分
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。def quick_sort(nums, left, right): if left < right: index = partition(nums, left, right) quick_sort(nums, left, index - 1) quick_sort(nums, index + 1, right)
测试:
nums = [2,3,1,6,4,8,7,0,9,12] print (nums) quick_sort(nums,0,len(nums)-1) print (nums)
结果:
[2, 3, 1, 6, 4, 8, 7, 0, 9, 12]
[0, 1, 2, 3, 4, 6, 7, 8, 9, 12]

更多精彩