本文實例講述了Python實現快速排序的方法。分享給大家供大家參考,具體如下:
說起快排的Python實現,首先談一下,快速排序的思路:
1、取一個參考值放到列表中間,初次排序后,讓左側的值都比他小,右側的值,都比他大。
2、分別對左側和右側的部分遞歸第1步的操作
實現思路:
編程實現:
#快排的主函數,傳入參數為一個列表,左右兩端的下標 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。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯