python挖坑法实现快排
生活随笔
收集整理的這篇文章主要介紹了
python挖坑法实现快排
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
快速排序
快速排序就是快
排序思路
- 取一個元素p(第一個元素),使元素p歸位;
- 列表被p分成兩部分,左邊的數一定不大于p,右邊的數一定不小于p;
- 遞歸完成排序。
Python代碼示例:
lst = [5, 7, 4, 3, 1, 2, 9, 8]def quick_sort(data, left, right):if left < right:mid = partition(data, left, right)quick_sort(data, left, mid - 1)quick_sort(data, mid + 1, right)''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' # 挖坑大法 # 此函數執行結束后,左邊的數一定不大于tmp,右邊的數一定不小于tmp def partition(data, left, right):tmp = data[left]while left < right:while left < right and data[right] >= tmp:right -= 1data[left] = data[right]while left < right and data[left] <= tmp:left += 1data[right] = data[left]data[left] = tmpreturn leftquick_sort(lst, 0, len(lst) - 1)print(lst)# partition還有其它的寫法,這里寫的是比較簡單的一種總結
以上是生活随笔為你收集整理的python挖坑法实现快排的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python list,tuple,di
- 下一篇: Python:数据编码与处理