2018-09-23

今天就来复习一下排序吧

    冒泡虽然可以排序,但在处理大量数据时,就会显得乏力,今天就来复习一下快速排序吧

def quick_sorted(lst,start,end):

  #快速排序建立一个函数 放入三个形参 分别绑定 列表L 开始的索引 和结束的索引 ,一般的以第一个数据为参考值

    left = start #快速排序 确定左光标

    right = end #right 为右光标

    if left

        key = lst[left]

     while  left

          while left < right and key <= lst[right]: #光标在左侧,然后跟右侧进行 比较,如果右侧大于key则向前移动  

            right-=1

         lst[left],lst[right]=lst[right],lst[left]  #如果条件不成立 调换位置 进行下一轮的计较

          while left=lst[left] #调换位置之后反过来进行比jiao

            left+=1

        lst[left],lst[right]=lst[right],lst[left] 

    #这个快速排序的原理在这里说下,就是确定一个比较值,然后吧整个列表分成两部分,前面的比这个值小,后面的比这个值大,但这些都是无序,所以要进行递归,知道key的两边都只剩一个数

        quick_sorted(lst.start,left-1)#(这两个循环在第一个while循环中嵌套.这空格不好看)

         quick_sorted(lst,left+1,end)  #这玩意那个空格有点问题,可能结构不对

    return lst

上面写的不怎么好看,下面试我以前的 ,仅供参考

2018-09-23_第1张图片

你可能感兴趣的:(2018-09-23)