本文介绍快速排序的思想,以及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)
其中原理,待补。