Sorting algorithms/Counting sort: Difference between revisions

Content added Content deleted
(Rename Perl 6 -> Raku, alphabetize, minor clean-up)
Line 1,308: Line 1,308:


=={{header|langur}}==
=={{header|langur}}==
{{works with|langur|0.10}}
<lang langur>val .countingSort = f(.array) {
Prior to 0.10, multi-variable declaration/assignment would use parentheses around variable names and values.
val (.min, .max) = (min(.array), max(.array))

var .count = arr .max-.min+1, 0
for .i in .array {
.count[.i-.min+1] += 1
}
var .result = []
for .i of .count {
.result ~= arr .count[.i], .i+.min-1
}
return .result
}

val .data = [7, 234, -234, 9, 43, 123, 14]

writeln "Original: ", .data
writeln "Sorted : ", .countingSort(.data)</lang>


{{works with|langur|0.8.3}}
<lang langur>val .countingSort = f(.array) {
<lang langur>val .countingSort = f(.array) {
val (.min, .max) = minmax(.array)
val .min, .max = minmax(.array)
var .count = arr .max-.min+1, 0
var .count = arr .max-.min+1, 0
for .i in .array { .count[.i-.min+1] += 1 }
for .i in .array { .count[.i-.min+1] += 1 }
for[=[]] .i of .count { _for ~= arr .count[.i], .i+.min-1 }
for .i of .count { _for ~= arr .count[.i], .i+.min-1 }
}
}