zoukankan      html  css  js  c++  java
  • Python 快排

     1 def quick_sort(array,left,right):
     2     if left>=right:
     3         return
     4     low=left
     5     high=right
     6     key=array[low]#设置基准数
     7     while left<right:
     8         while left<right and array[right]>=key:#如果列表后边的数,比基准数大或相等,则前移一位直到有比基准数小的数出现
     9             right-=1
    10         array[left]=array[right]#如找到,则把第j个元素赋值给第个元素i,此时表中i,j个元素相等
    11         while left<right and array[left]<=key:#同样的方式比较前半区
    12             left+=1
    13         array[right]=array[left]
    14     array[right]=key#做完第一轮比较之后,列表被分成了两个半区,并且i=j,需要将这个数设置回base
    15     print(array)
    16     # 递归前后半区
    17     quick_sort(array,low,left-1)
    18     quick_sort(array,left+1,high)
    19     return array
    20 print(quick_sort([2,13,6,11,1,5,16,22,7],0,8))
  • 相关阅读:
    sql小练习
    登录测试点
    游戏签到
    移动端和pc端微信加入群聊
    小说
    微信语言输入
    linux tar压缩解压缩命令详解
    linux使用nginx配置web服务器
    FFmpeg 视频处理入门教程
    Git学习
  • 原文地址:https://www.cnblogs.com/xiaojinniu425/p/9430747.html
Copyright © 2011-2022 走看看