Sorting algorithms/Radix sort: Difference between revisions

m
(add task to aarch64 assembly raspberry pi)
m (→‎{{header|Tailspin}}: syntax update)
Line 2,996:
=={{header|Tailspin}}==
<lang tailspin>
templates radixsort@&{base:}
sink bucketize
def value: $;
$ ~/ $@radixsort.digit -> #
when <=0 ?($value <0..>)> do
..|@radixsort.positives: $value;
when <=0> do
..|@radixsort.negatives(last): $value;
<>otherwise
def bucket: $ mod $base -> \(<?($value<0..>)> $ + 1 ! <=0> $base ! <> $ !\);
..|@radixsort.buckets($bucket): $value;
Line 3,013:
$... -> !bucketize
$@.done -> #
when <=1> do
[$@.negatives(last..1:-1)... ..., $@.positives...] !
otherwise
<>
def previous: $@.buckets;
..|@: {done: 1, digit: $@.digit * $base, buckets:[1..$base -> []]};
Line 3,022:
$@.done -> #
end radixsort
 
[170, 45, 75, 91, 90, 92, 802, 24, 2, 66] -> radixsort@&{base:10} -> !OUT::write
'
' -> !OUT::write
[-170, -45, -91, -90, -92, -802, -24, -2, -76] -> radixsort@&{base:10} -> !OUT::write
'
' -> !OUT::write
[170, 45, 75, -91, -90, -92, -802, 24, 2, 66] -> radixsort@&{base:10} -> !OUT::write
'
' -> !OUT::write
[170, 45, 75, -91, -90, -92, -802, 24, 2, 66] -> radixsort@&{base:3} -> !OUT::write
</lang>
{{out}}
Anonymous user