OneCompiler

quick sort

147

def partition(arr,l,h):
i=l+1
j=h
p=arr[l]

while(i<=j):
while(arr[i]<=p and i<h):
i+=1
while(arr[j]>p):
j-=1
if(i<j):
arr[i],arr[j]=arr[j],arr[i]
i+=1
j+=1

arr[l]=arr[j]
arr[j]=p
return j

def qs(arr,l,h):
if(l>=h):
return
piv=partition(arr,l,h)
qs(arr,l,piv)
qs(arr,piv+1,h)

arr=[10,6,8,1,3]
n=len(arr)
qs(arr,0,n-1)
print("Sorted array: ")
for i in arr:
print(i,end=" ")