Я написал этот код для быстрой сортировки.
def partition(a,start = 0,end = len(a)-1):
pivot = a[0]
while start<end:
while a[start]<=pivot:
start+=1
while a[end]>pivot:
end-=1
a[start],a[end] = a[end],a[start]
pivot,a[end] = a[end],pivot
return end
def quicksort(a,lb =0,ub =len(a)-1):
if lb<ub:
loc = partition(a,lb,ub)
quicksort(a,lb,loc-1)
quicksort(a,loc+1,ub)
A = [3,5,1,7,9,6,2]
B = quicksort(A)
print(B)
Я не знаю, почему происходит NameError. а является параметром функции. До ошибки подачи.
Traceback (most recent call last):
File "/data/data/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 31, in <module>
start(fakepyfile,mainpyfile)
File "/data/data/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 30, in start
exec(open(mainpyfile).read(), __main__.__dict__)
File "<string>", line 1, in <module>
NameError: name 'a' is not defined
[Программа завершена]