go二叉樹排序
阿新 • • 發佈:2018-12-17
二叉樹排序:一種基於二叉樹的排序演算法。
package mainimport ( "fmt" )
type tree struct { value int left, right * tree
func Sort (values [] int ) { var root * tree for _ , v := range values { root
func appendValues (values [] int , t * tree)[] int { if
func add (t * tree, value int ) * tree { if t == nil { t = new (tree) t.value = value return t } if value < t.value { t.left = add (t.left, value) } else { t.right = add (t.right, value) } return t }
func main () { values := [] int { 4 , 5 , 3 , 6 , 1 , 8 , 7 , 9 , 0 , 2 } Sort (values) fmt. Printf ( "%d \n " , values) }