Anonymous user
Sorting algorithms/Radix sort: Difference between revisions
m
→{{header|Tailspin}}: syntax update
(add task to aarch64 assembly raspberry pi) |
m (→{{header|Tailspin}}: syntax update) |
||
Line 2,996:
=={{header|Tailspin}}==
<lang tailspin>
templates radixsort
sink bucketize
def value: $;
$ ~/ $@radixsort.digit -> #
when <=0 ?($value <0..>)> do
..|@radixsort.positives: $value;
when <=0> do
..|@radixsort.negatives(last): $value;
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
'
' -> !OUT::write
[-170, -45, -91, -90, -92, -802, -24, -2, -76] -> radixsort
'
' -> !OUT::write
[170, 45, 75, -91, -90, -92, -802, 24, 2, 66] -> radixsort
'
' -> !OUT::write
[170, 45, 75, -91, -90, -92, -802, 24, 2, 66] -> radixsort
</lang>
{{out}}
|