Почему я получаю ошибку индекса списка в алгоритме быстрой сортировки. Может кто-нибудь рассмотреть это, пожалуйста - PullRequest
0 голосов
/ 04 мая 2020

Я работаю над алгоритмом быстрой сортировки с первым элементом в качестве стержня. Ниже приведен код, который я написал для программы. Я получаю ошибку 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
...