如果又看不懂我的代码的可以去b站 :【清华大学博士讲解Python数据结构与算法(完整版)全套100节】https://www.bilibili.com/video/BV1uA411N7c5?p=16&vd_source=ba017adc1d6555500de71f0ea6bc52dd def partition(li,left,right): #先拿一个便变量存储最左边的值 tmp=li[left] #循环的结束条件是当left<right while left<right: #因为左边有一个空位置 然后从右边开始找一个比tmp小的数 然后放在left的位置上: while left<right and li[right]>=tmp: right-=1#从右边开始向左走 li[left]=li[right] while left<right and li[left]<=tmp: left+=1 li[right]=li[left] li[left]=tmp #把最左边的数归位 return left def quick_sort(li,left,right): if left <right: mid=partition(li,left,right) quick_sort(li,left,mid-1) quick_sort(li,mid+1,right) li=[5,3,4,7,1,2] quick_sort(li,0,len(li)-1) print(li)
python牛逼 排序 之快速排序
最新推荐文章于 2024-10-15 19:28:18 发布