Sorting algorithms/Radix sort: Difference between revisions

Content added Content deleted
Line 959: Line 959:
#
#
func sort . data[] .
func sort . data[] .
radix = 256
radix = 10
max = 0
for d in data[]
max = higher d max
for di range len data[]
if data[di] > max
max = data[di]
.
.
.
len buck[][] radix
len buck[][] radix
Line 970: Line 967:
while pos <= max
while pos <= max
for i range radix
for i range radix
len buck[i][] 0
buck[i][] = [ ]
.
.
for di range len data[]
for d in data[]
h = data[di] / pos mod radix
h = d / pos mod radix
buck[h][] &= data[di]
buck[h][] &= d
.
.
di = 0
di = 0
for i range radix
for i range radix
for j range len buck[i][]
for d in buck[i][]
data[di] = buck[i][j]
data[di] = d
di += 1
di += 1
.
.