前面我们详细讲解了计数排序算法,今天我们用代码来实现
package main
import "fmt"
//计数排序
func countingSort(theArray[] int)[]int{
lastArray := make([]int,len(theArray))
for i := 0; i<len(theArray); i++ {
count := 0
for j :=0; j<len(theArray); j++ {
if theArray[i] > theArray[j]{
count ++
}
}
lastArray[count] = theArray[i]
}
return lastArray
}
func main() {
var theArray = []int{6, 4, 5, 1, 8, 7, 2, 3}
fmt.Print("排序前")
fmt.Println(theArray)
fmt.Print("排序后")
arrayResult := countingSort(theArray)
fmt.Println(arrayResult)
}
我们运行程序,获得结果
排序前[6 4 5 1 8 7 2 3]
排序后[1 2 3 4 5 6 7 8]
符合预期