快速排序法如其名是一個快速的排序方法,其排序的方法是:
- 在數列中選定一個基數
- 以此基數為基準,將數列中比此數大的放在右邊,比此數小的放左邊
- 再將左右兩邊的數列重複步驟 2 的動作,直到剩下一個數字即完成排序
Python 的程式碼如下
#快速排序 #https://www.george.tw unsort = [77, 88, 44, 33, 22, 99, 66, 55, 11] def quicksort(unsort, left, right): if left >= right : return i = left j = right key = unsort[left] while i != j: while unsort[j] > key and i < j: j -= 1 while unsort[i] <= key and i < j: i += 1 if i < j: unsort[i], unsort[j] = unsort[j], unsort[i] unsort[left],unsort[i] = unsort[i],unsort[left] quicksort(unsort, left, i-1) quicksort(unsort, j+1, right) print(unsort) quicksort(unsort, 0, len(unsort)-1) print(unsort)
程式碼 : Github