Я работаю над алгоритмом быстрой сортировки с первым элементом в качестве стержня. Ниже приведен код, который я написал для программы. Я получаю ошибку List index вне диапазона ошибки в строке lst [k]> = piv. Куда я иду не так.
def partition(lst,low,high):
piv=lst[low]
i=low+1
k=high-1
while i<=k:
while lst[i]<=piv:
i=i+1
while lst[k]>=piv:
k=k-1
if i<=k:
lst[i],lst[k]=lst[k],lst[i]
else:
lst[low],lst[k]=lst[k],lst[low]
return k
def quicksort(lst,low,high):
if high-low>1:
p=partition(lst,low,high)
quicksort(lst,low,p)
quicksort(lst,p+1,high)
return lst