Sorting algorithms/Radix sort: Difference between revisions

Content added Content deleted
m (syntax highlighting fixup automation)
Line 1,357: Line 1,357:
=={{header|EasyLang}}==
=={{header|EasyLang}}==


<syntaxhighlight lang="text"># Radix sort - sorts positive integers
<syntaxhighlight lang="text">
func sort . d[] .
#
# radix = 10
func sort . data[] .
radix = 10
radix = 256
for d in data[]
max = 0
max = higher d max
for di = 1 to len d[]
if d[di] > max
max = d[di]
.
.
.
len buck[][] radix
len buck[][] radix
pos = 1
pos = 1
while pos <= max
while pos <= max
for i range radix
for i = 1 to radix
buck[i][] = [ ]
len buck[i][] 0
.
.
for d in data[]
for di = 1 to len d[]
h = d / pos mod radix
h = d[di] div pos mod radix + 1
buck[h][] &= d
buck[h][] &= d[di]
.
.
di = 0
di = 1
for i range radix
for i = 1 to radix
for d in buck[i][]
for j = 1 to len buck[i][]
data[di] = d
d[di] = buck[i][j]
di += 1
di += 1
.
.
Line 1,386: Line 1,389:
data[] = [ 29 4 72 44 55 26 27 77 92 5 ]
data[] = [ 29 4 72 44 55 26 27 77 92 5 ]
call sort data[]
call sort data[]
print data[]</syntaxhighlight>
print data[]
</syntaxhighlight>


=={{header|Eiffel}}==
=={{header|Eiffel}}==