Sorting algorithms/Radix sort: Difference between revisions
Content added Content deleted
Line 897: | Line 897: | ||
<lang># Radix sort - sorts positive integers |
<lang># Radix sort - sorts positive integers |
||
# |
# |
||
func sort . data[] . |
|||
radix = |
radix = 256 |
||
max = 0 |
max = 0 |
||
for di range len data[] |
for di range len data[] |
||
Line 909: | Line 909: | ||
while pos <= max |
while pos <= max |
||
for i range radix |
for i range radix |
||
len buck[][ |
len buck[i][] 0 |
||
. |
. |
||
for di range len data[] |
for di range len data[] |
||
h = data[di] / pos mod radix |
h = data[di] / pos mod radix |
||
buck[][ |
buck[h][] &= data[di] |
||
. |
. |
||
di = 0 |
di = 0 |
||
for i range radix |
for i range radix |
||
for j range len buck[][ |
for j range len buck[i][] |
||
data[di] = buck[ |
data[di] = buck[i][j] |
||
di += 1 |
di += 1 |
||
. |
. |
||
Line 926: | Line 926: | ||
. |
. |
||
data[] = [ 29 4 72 44 55 26 27 77 92 5 ] |
data[] = [ 29 4 72 44 55 26 27 77 92 5 ] |
||
call sort |
call sort data[] |
||
print data[]</lang> |
print data[]</lang> |
||