0
0 комментариев

[apcode language=»python»]

def sort(arr):
 if len(arr)<2:
  return arr
 else:
  a=arr[len(arr)-1]
  newmore,new,nn=[],[],[]
  for i in range(len(arr)):
   if arr[i]<a:      
    new.append(arr[i])#создание масива с елементами меньше опорных
   elif arr[i]==a:
    nn.append(arr[i])#создание масива с елементами которые равны опорному
   else:
    new1.append(arr[i])#создание масива с елементами больше опорных
  return sort(new)+nn+sort(newmore)
print (sort([1,2,5,1,4,7,3,5,9]))

[/apcode]Только начал изучать пайтон, пытаюсь написать алгоритм быстрой сортировки, но выдает ошибки, в чём проблема?

Traceback (most recent call last):
File «C:\Users\Компьютер\Desktop\Python\love.py», line 15, in <module>
print (sum([1,2,5,1,4,7,3,5,9]))
File «C:\Users\Компьютер\Desktop\Python\love.py», line 14, in sum
return sum(new)+nn+sum(newmore)
File «C:\Users\Компьютер\Desktop\Python\love.py», line 14, in sum
return sum(new)+nn+sum(newmore)
File «C:\Users\Компьютер\Desktop\Python\love.py», line 14, in sum
return sum(new)+nn+sum(newmore)
[Previous line repeated 994 more times]
File «C:\Users\Компьютер\Desktop\Python\love.py», line 7, in sum
for i in range(len(arr)):
RecursionError: maximum recursion depth exceeded in comparison
[Finished in 0.2s with exit code 1]

Решенный вопрос
Добавить комментарий