#coding=utf-8
import math
import random
def swap(A,i,j):
r=A[i]
A[i]=A[j]
A[j]=r
def partition(A,p,r):
x=A[r]
i=p-1
for j in list(range(p,r)):
if A[j]<=x:
i=i+1
swap(A,i,j)
swap(A,i+1,r)
return i+1 #没次调用partition,将会产生一个分割p,r的q角标
def quickSort(A,p,r):
if p<r:
q=partition(A,p,r)
quickSort(A,p,q-1)
quickSort(A,q+1,r)
A=[1,2,3,4,7,8,9,10,14,16]
random.shuffle(A)
print(A)
quickSort(A,0,len(A)-1)
print(A)
import math
import random
def swap(A,i,j):
r=A[i]
A[i]=A[j]
A[j]=r
def partition(A,p,r):
x=A[r]
i=p-1
for j in list(range(p,r)):
if A[j]<=x:
i=i+1
swap(A,i,j)
swap(A,i+1,r)
return i+1 #没次调用partition,将会产生一个分割p,r的q角标
def quickSort(A,p,r):
if p<r:
q=partition(A,p,r)
quickSort(A,p,q-1)
quickSort(A,q+1,r)
A=[1,2,3,4,7,8,9,10,14,16]
random.shuffle(A)
print(A)
quickSort(A,0,len(A)-1)
print(A)