defpartition(arr,l,h):i=l-1pivot=arr[h]forjinrange(l,h):ifarr[j]<=pivot:i+=1arr[i],arr[j]=arr[j],arr[i]arr[i+1],arr[h]=arr[h],arr[i+1]returni+1defquickSortIterative(arr,l,h):size=h-l+1stack=[0]*sizetop=-1top+=1stack[top]=ltop+=1stack[top]=hwhiletop>=0:h=stack[top]top-=1l=stack[top]top-=1p=partition(arr,l,h)ifp-1>l:top+=1stack[top]=ltop+=1stack[top]=p-1ifp+1<h:top+=1stack[top]=p+1top+=1stack[top]=harr=[4,3,5,2,1,3,2,3]n=len(arr)quickSortIterative(arr,0,n-1)print("Sorted array is:")foriinrange(n):print(arr[i],end=" ")