You are on page 1of 1

stack1=[]

stack2=[]
def quickSort(A,p,q):
if p<q:
Partition(A,p,q)
p=stack1.pop()
r=stack2.pop()
quickSort(A,p,r-1)
quickSort(A,r+1,q)
return A
def Partition(A,p,q):
i=p
x=A[i]
for j in range(p+1,q+1):
if A[j]<=x:
i=i+1
tmp=A[j]
A[j]=A[i]
A[i]=tmp
l=A[p]
A[p]=A[i]
A[i]=l
stack1.append(p)
stack2.append(i)
A=[4,10,5,1,2,6,8,3,13,11,15,12]
quickSort(A,0,11);
print A

You might also like