快速排序是一種高效的排序算法,其時間復雜度為O(nlogn)。Python 作為一門優秀的編程語言,具有簡單易學、功能強大、適應性強等諸多優點。因此,使用 Python 來手寫快速排序是一個不錯的選擇。
下面是 Python 的快速排序實現:
def quick_sort(arr): if len(arr)<= 1: return arr pivot = arr[len(arr) // 2] left = [x for x in arr if x< pivot] middle = [x for x in arr if x == pivot] right = [x for x in arr if x >pivot] return quick_sort(left) + middle + quick_sort(right)
首先,我們需要定義一個名為 quick_sort 的函數,該函數將待排序的數組作為輸入參數。第二行代碼是一個遞歸終止條件,如果數組的長度小于等于1,則直接返回該數組。第三行代碼選取 pivot(樞軸值),可以選擇數組的中間值,這樣能夠保證數組左右兩邊的元素的數量相等。接下來,我們將小于pivot的元素存儲在left數組中,等于 pivot 的元素存儲在 middle 數組中,大于pivot的元素存儲在right數組中。
最后,返回經過遞歸排序后的左半部分數組、middle數組、右半部分數組組成的新數組
通過上述代碼,我們可以使用Python語言輕松手寫快速排序。在使用時,只需將待排序的數組作為輸入參數傳入即可。