Skip to content

Instantly share code, notes, and snippets.

@Rag0n
Created December 5, 2013 20:08
Show Gist options
  • Save Rag0n/7812982 to your computer and use it in GitHub Desktop.
Save Rag0n/7812982 to your computer and use it in GitHub Desktop.
Radix sort python implementation
def radixSort(a, n, maxLen):
'''
Цифровая сортировка:
a - array
n - кол-во возможных значения одного разряда
maxLen - максимальное количество разрядов
Циклически обходим каждый разряд,
для каждого разряда создаем корзины
В зависимости от разряда добавляем число в один из 10 массивов.
'''
for x in range(maxLen): # сколько разрядов, столько раз и обходим
arrays = [[] for i in range(n)] # создаем столько пустых массивов, сколько возм.знач
for y in a:
arrays[(y / 10**x) % n].append(y) # по значениям добавляем числа в определенный массив
a = []
for section in arrays:
a.extend(section) # последовательно объединяем массивы(корзины)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment