首頁 >後端開發 >Python教學 >用Python怎麼實現快速排序

用Python怎麼實現快速排序

小老鼠
小老鼠原創
2023-12-18 15:37:531065瀏覽

用Python實現快速排序的方法:1、定義一個名為quick_sort的函數,使用遞歸的方法來實現快速排序;2、檢查數組的長度,如果長度小於等於1,則直接傳回數組,否則,選擇數組中的第一個元素作為樞紐元素(pivot),然後將數組分成比樞紐元素小和比樞紐元素大的兩個子數組;3、將這兩個子數組和樞紐元素連接起來,形成排序好的陣列即可。

用Python怎麼實現快速排序

本教學作業系統:windows10系統、Python3.11.4版本、Dell G3電腦。

以下是使用Python實作快速排序的方法:

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        less_than_pivot = [x for x in arr[1:] if x <= pivot]
        greater_than_pivot = [x for x in arr[1:] if x > pivot]
        return quick_sort(less_than_pivot) + [pivot] + quick_sort(greater_than_pivot)
# 示例
arr = [3, 6, 8, 10, 1, 2, 1]
sorted_arr = quick_sort(arr)
print(sorted_arr)

在這個範例中,我們定義了一個名為quick_sort的函數,它使用遞歸的方法來實現快速排序。函數先檢查數組的長度,如果長度小於等於1,則直接傳回數組。否則,我們選擇數組中的第一個元素作為樞紐元素(pivot),然後將數組分成比樞紐元素小和比樞紐元素大的兩個子數組。最後,我們將這兩個子陣列和樞紐元素連結起來,形成排序好的陣列。

以上是用Python怎麼實現快速排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn