×

# Need help with quicksort

I know this is kind of stupid but I was trying to implement quicksort in Python and it runs into an infinite loop can anyone tell me what's wrong??The partition subroutine works perfectly....The error is in quicksort..Here's the code

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  def QuickSort(A,p,r): if p < r: q = Partition(A,p,r) QuickSort(A,0,q) QuickSort(A,q+1,r) def Partition(A, l, r): p = A[l] i = l+1 for j in range(l+1,r): if A[j] < p: A[j],A[i] = A[i],A[j] i += 1 A[l],A[i-1] = A[i-1],A[l] return A.index(p) 

3 years ago

Sort by:

 1 2 3 4 5 6 def Quicksort(A,p,r): if p < r: q = Partition(A,p,r) Quicksort(A,p,q-1) #Mistake is here Quicksort(A,q+1,r) return A 
I am reasonably sure that this is what would work. @josh silverman, can you confirm? · 3 years ago

to start, your Quicksort doesn't return anything Staff · 3 years ago

Fixed!!Thanks a lot.....It feels so frustrated to do stupid mistakes on a known problem............ · 3 years ago

@Thaddeus Abiy @Ammar Fathin Sabili @Trevor B. Please help!!CS is one of the subjects that I study the most but failing such a trivial and known question today is driving me mad! · 3 years ago