Sorting algorithms/Counting sort: Difference between revisions

Content added Content deleted
Line 1,319: Line 1,319:
}
}
return .result
return .result
}

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

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

{{works with|langur|0.7.0}}
<lang langur>val .countingSort = f(.array) {
val (.min, .max) = (min(.array), max(.array))

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