Sorting algorithms/Counting sort: Difference between revisions
Content added Content deleted
(Go solution) |
(Cleaned D code) |
||
Line 242: | Line 242: | ||
=={{header|D}}== |
=={{header|D}}== |
||
<lang d>import std.stdio |
<lang d>import std.stdio, std.algorithm; |
||
import std.algorithm: reduce, min, max; |
|||
void countingSort(int[] array, in size_t min, in size_t max) { |
void countingSort(int[] array, in size_t min, in size_t max) { |
||
Line 260: | Line 259: | ||
void main() { |
void main() { |
||
auto data = [9, 7, 10, 2, 9, 7, 4, 3, 10, 2, 7, 10, |
auto data = [9, 7, 10, 2, 9, 7, 4, 3, 10, 2, 7, 10, 2, 1, 3, 8, |
||
7, 3, 9, 5, 8, 5, 1, 6, 3, 7, 5, 4, 6, 9, 9, 6, 6, |
|||
10, 2, 4, 5, 2, 8, 2, 2, 5, 2, 9, 3, 3, 5, 7, 8, 4]; |
|||
2, 8, 2, 2, 5, 2, 9, 3, 3, 5, 7, 8, 4]; |
|||
int dataMin = reduce!min(data); |
int dataMin = reduce!min(data); |
||
int dataMax = reduce!max(data); |
int dataMax = reduce!max(data); |
||
countingSort(data, dataMin, dataMax); |
countingSort(data, dataMin, dataMax); |
||
assert(isSorted(data)); |
|||
}</lang> |
}</lang> |
||