思想
1.在给定的数据项集合中,选取一个数据项为中间项
2.对剩余数据项进行遍历,与中间项依次比较
3.小于中间项的数据项,放置到中间项左边
4.大于中间项的数据项,放置到中间项右边
5.每次确定一个中间项,就从最开始的数据项集合中删除本中间项
6.利用递归方法无限遍历整个数据项集合,直到原数据集合为空,终止递归,并依次回潮
7.将所有确定的中间项,在每一个遍历层面,以左中右的顺序依次写入创立的结果存储空间中
8.快速排序结束
代码实现
arr1 = [0,8,7,6,5,5,6,9,2,1,0]
arr2 = []
def content(arr1):
if len(arr1) == 0:
return
centre = arr1[int(len(arr1) / 2)]
arr1.pop(int(len(arr1) / 2))
arr_left = []
arr_right = []
for it in arr1:
if it >centre:
arr_right.append(it)
if it <=centre:
arr_left.append(it)
content(arr_left)
arr2.append(centre)
content(arr_right)
content(arr1)
print(arr2)
结果图