Python實現快速排序的方法詳解-創新互聯

本文實例講述了Python實現快速排序的方法。分享給大家供大家參考,具體如下:

創新互聯是一家專業提供莆田企業網站建設,專注與做網站、成都網站建設HTML5建站、小程序制作等業務。10年已為莆田眾多企業、政府機構等服務。創新互聯專業的建站公司優惠進行中。

說起快排的Python實現,首先談一下,快速排序的思路:

1、取一個參考值放到列表中間,初次排序后,讓左側的值都比他小,右側的值,都比他大。

2、分別對左側和右側的部分遞歸第1步的操作

實現思路:

  • 兩個指針left,right分別指向列表的第一個元素和最后一個元素,然后取一個參考值,默認為第一個列表的第一個元素list[0],稱為K
  • 然后left指向的值先和參考值K進行比較,若list[left]小于或等于K值,left就一直向右移動,left+1,直到移動到大于K值的地方,停住
  • right指向的值和參考值K進行比較,若list[right]大于K值,right就一直向左移動,right-1,直到移動到小于K值的地方,停住
  • 此時,left和right若還沒有相遇,即left還小于right,則二者指向的值互換
  • 若已經相遇則說明,第一次排序已經完成,將list[right]與list[0]的值進行互換,進行之后的遞歸

編程實現:

#快排的主函數,傳入參數為一個列表,左右兩端的下標
def QuickSort(list,low,high):
  if high > low:
    #傳入參數,通過Partitions函數,獲取k下標值
    k = Partitions(list,low,high)
    #遞歸排序列表k下標左側的列表
    QuickSort(list,low,k-1)
    # 遞歸排序列表k下標右側的列表
    QuickSort(list,k+1,high)
def Partitions(list,low,high):
  left = low
  right = high
  #將最左側的值賦值給參考值k
  k = list[low]
  #當left下標,小于right下標的情況下,此時判斷二者移動是否相交,若未相交,則一直循環
  while left < right :
    #當left對應的值小于k參考值,就一直向右移動
    while list[left] <= k:
      left += 1
    # 當right對應的值大于k參考值,就一直向左移動
    while list[right] > k:
      right = right - 1
    #若移動完,二者仍未相遇則交換下標對應的值
    if left < right:
      list[left],list[right] = list[right],list[left]
  #若移動完,已經相遇,則交換right對應的值和參考值
  list[low] = list[right]
  list[right] = k
  #返回k值
  return right
list_demo = [6,1,2,7,9,3,4,5,10,8]
print(list_demo)
QuickSort(list_demo,0,9)
print(list_demo)

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前名稱:Python實現快速排序的方法詳解-創新互聯
網址分享:http://m.kartarina.com/article40/ccjdeo.html

成都網站建設公司_創新互聯,為您提供網頁設計公司網站收錄品牌網站設計Google微信小程序營銷型網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設
主站蜘蛛池模板: 一本久道综合在线无码人妻| 国精品无码一区二区三区左线| 中文字幕亚洲精品无码| 无码福利一区二区三区| 精品久久久久久无码人妻| 红桃AV一区二区三区在线无码AV | 毛片无码免费无码播放| 亚洲最大av资源站无码av网址| 无码专区HEYZO色欲AV| 自慰无码一区二区三区| 中文字幕av无码一二三区电影 | 在线看无码的免费网站| 亚洲欧洲AV无码专区| 中文字幕无码一区二区三区本日| 精品国产a∨无码一区二区三区| 国产精品99无码一区二区| 亚洲天然素人无码专区| 无码区国产区在线播放| 国产成人A亚洲精V品无码| 无码人妻精品一区二区蜜桃| 久久精品亚洲中文字幕无码麻豆| 永久免费无码网站在线观看| 亚洲AV无码无限在线观看不卡| 在线播放无码高潮的视频| 国产精品第一区揄拍无码| 69久久精品无码一区二区| 亚洲成AV人片天堂网无码| 亚洲人成国产精品无码| 免费看国产成年无码AV片| 亚洲av无码日韩av无码网站冲| 精品无码人妻一区二区三区| 国产成年无码AV片在线韩国| 少妇无码太爽了不卡视频在线看| 人妻精品无码一区二区三区| 蜜桃AV无码免费看永久| 亚洲av福利无码无一区二区| 无码无遮挡又大又爽又黄的视频| 伊人久久综合无码成人网| 亚洲AV无码一区二三区| 亚洲国产91精品无码专区| 日韩毛片无码永久免费看|