随机快排

import random
def quicksort(arr, L, R):
    if(L < R):
        swap(arr,L + int(random.random()*(R-L+1)), R)
        low,high=partition(arr, L, R)
        quicksort(arr, L ,low)
        quicksort(arr, high, R)
def partition(arr, L, R):
        less = L -1
        more = R
        while(L < more):
            if arr[L] < arr[R]:
                less += 1
                swap(arr, L,less)
                L += 1
            elif arr[L] > arr[R]:
                more -= 1
                swap(arr, L, more)
            else:
                L+=1
        swap(arr, more,  R)
        return less,more+1
def swap(arr, i, j):
    arr[i],arr[j]=arr[j],arr[i]
lst = [22,312,22,5,23,7,22]
quicksort(lst,0,6)
print(lst)
全部评论

相关推荐

07-11 22:27
中南大学 Java
程序员牛肉:学历的话没问题。但是没问题的也就只有学历了。 其实你的整体架构是正确的,博客接着干。但是项目有点过于简单了。从后端的角度上讲,你这也就是刚入门的水平,所以肯定约面试够呛。 如果你要应聘后端岗位,那你第一个项目竟然是仿写操作系统。这个你要面试官咋问你。你一定要记住一点,你简历上写的所有的东西,都是为了证明你有能力胜任当前的岗位,而不是为了证明你自己会什么。 如果你只是浅浅的做几个项目,描述也都是烂大街。技术点也都是各种混水类的配置类需求,那你就不要幻想自己能走多远。一定要保持思考,保持学习。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务