```
pivot = a[lb]
start = lb
end = ub
while start < end:
while a[start] <= pivot:
start = start + 1
while a[end] > pivot:
end = end - 1
if start < end:
(a[start], a[end]) = (a[end], a[start])
(a[lb], a[end]) = (a[end], a[lb])
return end
def quick_sort(a, lb, ub):
if lb < ub:
loc = partition(a, lb, ub)
quick_sort(a, lb, loc-1)
quick_sort(a, loc+1, ub)
size = int(input("Enter the length of your array = "))
print("Enter the elements of the array by space = ", end="")
a = [int(i) for i in input().split()]
#print(a)
lb = 0
ub = size - 1
quick_sort(a, lb, ub)
print(a)```
![SharedScreenshot|512x235](upload://hFnvkVmHrrAOXhcnpj4F8Dmdux1.jpeg)
```

You have not posted all the code, partition is missing.

Please post as text not an image - no one can cut-n-paste from an image.

Like you did in the first message but with all the code please.

3 Likes

You haven’t said what the bug is, but what happens if the pivot is the largest value?

Try adding print statement to show what it’s doing.

I also notice that `size`

is unrelated to the length of `a`

. As you’re already asking for the values, I’d suggest inputting them and then having `size = len(a)`

.