SRL Archive - General

Radix sorting (with Queue) help Python


weeps

2013-04-01 11:36:55

Im trying to make a radix sorting metod with queues, but it doesn't sort properlly. For example it get this :
[13, 18, 48, 50, 70, 94, 94, 95, 97, 3]


Any helping clues?

Thanks


def radixsorting1():
mod = 10
n = 2
m = 10
q = myQueue()
L = []
div = 1

for k in range(0,m):
q.put(random.randint(1,10**n))

for y in range(0,10):
L.append(myQueue())

while True:
while not q.isempty():
value = q.get()
least_digit = value % mod
least_digit = int(least_digit // div)
L[least_digit].put(value)

mod = mod*10
div = div * 10

if L[0].length() == m:
v = []
while not L[0].isempty():
output = L[0].get()
v.append(output)
return v

for k in L:
while not k.isempty():
q.put(k.get())