go實現地精排序演算法
阿新 • • 發佈:2018-12-09
前面我們詳細的講解了地精排序演算法,現在我們用go語言來實現下
package main import "fmt" //地精排序 func gnomeSort(theArray []int) []int { i := 0 for i<len(theArray){ if i==0 || theArray[i-1] <= theArray[i]{ i++ }else{ theArray[i-1], theArray[i] = theArray[i], theArray[i-1] i-- } } return theArray } func main() { var theArray = []int{10,1,18,30,23,12,7,5,18,17} fmt.Print("排序前") fmt.Println(theArray) fmt.Print("排序後") fmt.Println(gnomeSort(theArray)) }
我們執行下,看結果
排序前[10 1 18 30 23 12 7 5 18 17]
排序後[1 5 7 10 12 17 18 18 23 30]
符合預期