這篇文章主要講解了“python的快速排序算法如何使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“python的快速排序算法如何使用”吧!
1、選擇列表中最后一個元素最基準數N,小于N的放前,大于等于N的放后。
2、將前面的最后一個數字作為基準,同上放置。
3、直到每個部分的標記相等,即完成快速排序。
實例
def move_num(my_list, low, high): N = my_list[high] # 確定基數N move = low - 1 # 從左邊減1開始 for i in range(low, high): if my_list[i] <= N: move += 1 # 記錄最近一個交換值的下標 my_list[move], my_list[i] = my_list[i], my_list[move] # 大的放后面,小的放move處 my_list[move + 1], my_list[high] = my_list[high], my_list[move + 1] # 最后一次,把N值放到move+1處 return move + 1 def quick_sort(my_list, low, high): n = len(my_list) if n == 1: return my_list if low < high: # low==high停止排序 N = move_num(my_list, low, high) # 一次比較排序 quick_sort(my_list, low, N - 1) # 遞歸前一部分排序 quick_sort(my_list, N + 1, high) # 遞歸后一部分排序 return my_list if __name__ == "__main__": my_list = [8, 0, 4, 3, 2, 1] print("排序前的數組:", my_list) print("排序后的數組:", quick_sort(my_list, 0, len(my_list) - 1))
感謝各位的閱讀,以上就是“python的快速排序算法如何使用”的內容了,經過本文的學習后,相信大家對python的快速排序算法如何使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。