Sorting algorithms/Counting sort: Difference between revisions

Added Kotlin
(Added FreeBASIC)
(Added Kotlin)
Line 1,112:
After Sort:
[5,70,80,100,148,208,211,218,264,384,397,402,459,701,713,725,781,916,961,1013]
</pre>
 
=={{header|Kotlin}}==
<lang scala>// version 1.1.0
 
fun countingSort(array: IntArray) {
if (array.isEmpty()) return
val min = array.min()!!
val max = array.max()!!
val count = IntArray(max - min + 1) // all elements zero by default
for (number in array) count[number - min]++
var z = 0
for (i in min..max)
while (count[i - min] > 0) {
array[z++] = i
count[i - min]--
}
}
 
fun main(args: Array<String>) {
val array = intArrayOf(4, 65, 2, -31, 0, 99, 2, 83, 782, 1)
println("Original : ${array.asList()}")
countingSort(array)
println("Sorted : ${array.asList()}")
}</lang>
 
{{out}}
<pre>
Original : [4, 65, 2, -31, 0, 99, 2, 83, 782, 1]
Sorted : [-31, 0, 1, 2, 2, 4, 65, 83, 99, 782]
</pre>
 
9,492

edits