理解していない良いアイデア、ブレークポイントを使用
メインパッケージ インポート " FMT " タイプのツリー構造体{ 値INTが 右から左、 * ツリー } FUNCソート(値[] int)を{ VARルート・ツリー のための _、V:= 範囲の値{ ルート = 追加(ルートを、V) } appendValues (値[0]、根) } FUNCのappendValues(値[] INT、T * ツリー)[] INT { なら T =!ゼロ{ 値 = appendValues(値、t.left) 値 =アペンド(値は、T。値) 値 = appendValues(値、t.right) } 戻り値 } FUNCアド(T *ツリー、値int)* ツリー{ もし T == ゼロ{ T = 新しい(ツリー) t.value = 値 戻りT } であれば値< t.value { t.left = 追加(t.left、値) } 他{ t.right = 追加(t.right、値) } 戻りT } メインFUNC(){ VAR一覧 = [] INT {5、1、8、3、6 } fmt.Println(リスト) ソート(リスト) fmt.Println(リスト) }