"""
1.先确定一个基准数,然后按照比较规则,如本例是升序排列,则将比基数大的放到右边,比基数小的放到左边。
2.接下来各边重复步骤1,直到全部排序完毕。
"""
quick_list = [11, 6743, 4656, 2321, 12, 54, 876, 232]
def quick_sort(alist, start, end):
"""快速排序"""
if start >= end:
return
mid = alist[start]
low = start
high = end
while low < high:
while low < high and alist[high] >= mid:
high -= 1
alist[low] = alist[high]
while low < high and alist[low] < mid:
low += 1
alist[high] = alist[low]
alist[low] = mid
quick_sort(alist,start,low - 1)
quick_sort(alist,low +1, end)
return alist
if __name__ == '__main__':
print(quick_sort(quick_list, 0, len(quick_list)-1))