• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

python版的快速排序算法代码

python 水墨上仙 1734次浏览

python版的快速排序算法代码

def qsort(L):
    return ((qsort([x for x in L[1:] if x < L[0]]) + L[0:1] +
             qsort([x for x in L[1:] if x >= L[0]])
            ) if L
            else [])

版本2

def qsort3(arr, l, r):  
    def swap(arr, s, d):  
        if s != d:  
            tmp = arr[s]  
            arr[s] = arr[d]  
            arr[d] = tmp  
    if l >= r:  
        return      
    m = l  
    for i in range(l, r):  
        if arr[i] <= arr[r]:  
            swap(arr, i, m)  
            m += 1  
    swap(arr, m, r)  
    qsort3(arr, l, m-1)  
    qsort3(arr, m+1, r)  
    return arr  

版本3

def qsort2(L):  
    if len(L)<=1:  
        return L  
    pivot=L[0]  
    less=    [x for x in L if x<pivot]  
    equal=   [x for x in L if x==pivot]  
    greater= [x for x in L if x>pivot]  
    return qsort2(less)+equal+qsort2(greater)  


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明python版的快速排序算法代码
喜欢 (0)
加载中……