python 快速排列

Posted wan-612

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 快速排列相关的知识,希望对你有一定的参考价值。

def quickmothod(li,low,high):
    left=low
    right=high
    if left< right:
        key=li[left]
        while left<right:
            while left<right and li[right]>=key:
                right -= 1
            li[right],li[left]=li[left],li[right]
            while left<right and li[left]<=key:
                left += 1
            li[left],li[right]=li[right],li[left]
        quickmothod(li,low,left-1)
        quickmothod(li,right+1,high)
li = [5,18,22,33,100,0,15,12,15,0,22,33,0,22,0,22]
quickmothod(li,0,len(li)-1)
print(li)
# def quick(li,p,q):
#     left=p
#     right=q
#     if left<right:
#         while left<right:
#             while li[left]<li[right] and li[left]<=li[0]:
#                 left+=1
#             li[left],li[right]= li[right],li[left]
#             while li[left]<li[right] and li[right]>=li[0]:
#                 right-=1
#             li[left],li[right]= li[right],li[left]
#         quick(li,p,left-1)
#         quick(li,right+1,q)
# li=[10,20,30,1,2,3]
# quick(li,0,len(li)-1)
# print(li)

 

以上是关于python 快速排列的主要内容,如果未能解决你的问题,请参考以下文章

python 实现排列组合

排序算法 | 快速排序(含C++/Python代码实现)

找到所有可能的 N 长度字谜 - 快速替代

python中的排列组合

Python刷题实用小tips集合(持续更新)

Python 排列组合