代码如下:
# -*- coding:utf-8 -*-
# Python实现快速排序
def QuickSort(li, p, r):
if p < r:
q = Partition(li, p, r)
QuickSort(li, p, q-1)
QuickSort(li, q+1, r)
def Partition(li, p, r):
x = li[r]
i = p - 1
for j in range(p, r):
if li[j] >= x: #把>=换成小于等于即是按升序排列
i = i+1
li[i],li[j] = li[j],li[i]
li[i+1],li[r] = li[r],li[i+1]
return i+1
if __name__ == '__main__':
li = [2,3,4,56,12,11,34,1,2,4,6,3,2]
QuickSort(li,0, len(li)-1)
print li