golang桶排序
?看一下golang桶排序代碼,很簡單。通過哈希表實現,先用哈希表存值,在通過哈希表的下標進行遍歷,通過哈希表進行了排序
package mainimport ("fmt""container/list" )func bucketSort(theArray []int,num int){var theSort [99]intfor i:=0;i< len(theArray);i++{if theSort[theArray[i]] !=0{theSort[theArray[i]] = theSort[theArray[i]]+1}else{theSort[theArray[i]] = 1}}l:=list.New()for j:=0;j<len(theSort);j++{if theSort[j]==0{//panic("error test.....")}else{for k:=0;k<theSort[j];k++{l.PushBack(j)}}}for e := l.Front(); e != nil; e = e.Next() {fmt.Print(e.Value, " ")}}func main() {var theArray = []int{10, 1, 18, 30, 23, 12, 7, 5, 18, 17}fmt.Print("排序前")fmt.Println(theArray)fmt.Print("排序后")bucketSort(theArray,11) }?
代碼地址:https://blog.csdn.net/stronglyh/article/details/82319329
總結