快速排序算法

快速排序算法

import random
class Solution():
def quickSort(self, arr, head,tail):
if head >= tail:
return arr
mid = head + random.randint(0,tail - head)
pivot = arr[mid]
arr[mid] = arr[head]
low = head
high = tail
while low != high:
while low < high and arr[high] >= pivot:
high -= 1
arr[low] = arr[high]
while low < high and arr[low] <= pivot:
low += 1
arr[high] = arr[low]
arr[low] = pivot
Solution.quickSort(self, arr, head, low - 1)
Solution.quickSort(self, arr, low + 1, tail)
return arr
if __name__ == '__main__':
s = Solution()
arr = list(map(int,input().strip().split()))
kk = s.quickSort(arr,0,len(arr)-1)
print(kk)
posted @   楚千羽  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2021-05-09 Excel图表导出高清矢量位图片并裁剪的方法
点击右上角即可分享
微信分享提示