Sorting algorithms/Counting sort: Difference between revisions

Content added Content deleted
(added langur language example)
Line 1,265: Line 1,265:


=={{header|Langur}}==
=={{header|Langur}}==
<lang Langur>val .countingSort = f(.array, .min, .max) {
<lang Langur>val .countingSort = f(.array) {
val (.min, .max) = (min(.array), max(.array))

var .count = arr(.max-.min+1, 0)
var .count = arr(.max-.min+1, 0)
for .i in .array {
for .i in .array {
Line 1,272: Line 1,274:
var .result = []
var .result = []
for .i of .count {
for .i of .count {
for 1 to .count[.i] {
for of .count[.i] {
.result ~= [.i+.min-1]
.result ~= [.i+.min-1]
}
}
Line 1,282: Line 1,284:


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


{{out}}
{{out}}