Найти - Пользователи
Полная версия: алгоритм сортировки подсчётом
Начало » Python для новичков » алгоритм сортировки подсчётом
1
delitet
Подскажите, пожалуйста,
  range(len(support)) и range(len(support[i]))
- что означают(что возвращают)?
Длину вспомогательной переменной(support)? в чём отличия?

 def counting_sort(sort):
    #мин/макс значения в списке
    min_value = min(sort)
    max_value = max(sort)
    #создаём последовательность из нулей длинною макс-мин+1
    support = [0 for i in range(max_value - min_value +1)]
    #проходимся по списку А, +1 значения по индексу (элемент списка А-минимальное значение А) во временной переменной с нулями
    for i in sort:
        support[i-min_value] +=1
    index = 0
# ⬇⬇⬇⬇⬇⬇⬇⬇⬇ВОТ ЭТИ ДВЕ СТРОКИ НЕ ПОНЯТНЫ ⬇⬇⬇⬇⬇⬇⬇⬇⬇
    for i in range(len(support)):
        for k in range(support[i]):
            sort[index] = i + min_value
            index += 1
    return None
a = [-1,-9,0,1,-1]
counting_sort(a)
xam1816
delitet
Подскажите, пожалуйста,

range(len(support)) и range(len(support[i]))

вот в этом отрывке
   
#⬇⬇⬇⬇⬇⬇⬇⬇⬇ВОТ ЭТИ ДВЕ СТРОКИ НЕ ПОНЯТНЫ ⬇⬇⬇⬇⬇⬇⬇⬇⬇
    for i in range(len(support)):
        for k in range(support[i]):

где находится
 range(len(support[i]))

range это диапазон от 0(по умолчанию) до числа(не включительно)которое в скобках

 r = range(10)
print(r)
print(type(r))
print(list(r))

range(0, 10)
<class 'range'>
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Process finished with exit code 0
py.user.next
Тут код на питоне
wiki. сортировка подсчётом
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB