def partition(alist,st,ed): x=alist[ed-1] i=st-1 for j in range(ed): if alist[j]<=x: i=i+1 alist[j],alist[i]=alist[i],alist[j] alist[ed],alist[i+1]=alist[i+1],alist[ed] return i+1 def quickSort(alist,start,end): if start<end: p=partition(alist,start,end) quickSort(alist,start,p-1) quickSort(alist,p+1,end) alist = [54,26,93,17,77,31,44,55,20] quickSort(alist,0,len(alist)) print(alist)
Traceback (most recent call last):
File "quick.py", line 18, in <module>
quickSort(alist,0,len(alist))
File "quick.py", line 13, in quickSort
p=partition(alist,start,end)
File "quick.py", line 2, in partition
x=alist[ed]
IndexError: list index out of range
Please help me with this. I am trying to implement quicksort iteratively using python. I am not new to programming. Just learning a new language.