Sorting algorithms/Counting sort: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) (Rename Perl 6 -> Raku, alphabetize, minor clean-up) |
Langurmonkey (talk | contribs) |
||
Line 1,308: | Line 1,308: | ||
=={{header|langur}}== |
=={{header|langur}}== |
||
⚫ | |||
<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> |
|||
⚫ | |||
<lang langur>val .countingSort = f(.array) { |
<lang langur>val .countingSort = f(.array) { |
||
val |
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 |
for .i of .count { _for ~= arr .count[.i], .i+.min-1 } |
||
} |
} |
||