本文介紹快速排序的思想,以及python3實現:
__author__ = "Allen Liu"
__time__ = "2017/8/13"
'''This program used to '''
import random
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)
def partition(data, left, right):
temp = data[left]
while left < right:
while left < right and data[right] >= temp:
right -= 1
data[left] = data[right]
while left < right and data[left] <= temp:
left += 1
data[right] = data[left]
data[right] = temp
return right
data = list(range(10))#產生一個有序列表
random.shuffle(data) # 調用shuffle函數打亂順序
print(data)# 排序前
quick_sort(data, 0, len(data) - 1)# 調用選擇排序算法
print(data)#排序後
random.shuffle(data)
其中原理,待補。