def partiton(li,left,right):
temp = li[left]
while left < right:
while left < right and li[right] >= temp:
right -= 1
li[left] = li[right]
while left < right and li[left] <= temp:
left += 1
li[right] = li[left]
li[left] = temp
return left
def quick_sort(data,left,right):
if left < right:
mid = partiton(data,left,right)
quick_sort(data,left,mid-1)
quick_sort(data,mid+1,right)
li = [5,7,8,9,2,3,6,2,1,1,1,5,6]
quick_sort(li,0,len(li)-1)
li
[1, 1, 1, 2, 2, 3, 5, 5, 6, 6, 7, 8, 9]