/** * File: binary_tree.swift * Created Time: 2023-01-18 * Author: nuomi1 (nuomi1@qq.com) */ import utils @main enum BinaryTree { /* 実行用コード */ static func main() { /* 二分木を初期化する */ // ノードを初期化する let n1 = TreeNode(x: 1) let n2 = TreeNode(x: 2) let n3 = TreeNode(x: 3) let n4 = TreeNode(x: 4) let n5 = TreeNode(x: 5) // ノード間の参照(ポインタ)を設定する n1.left = n2 n1.right = n3 n2.left = n4 n2.right = n5 print("\n二分木を初期化する\n") PrintUtil.printTree(root: n1) /* ノードの挿入と削除 */ let P = TreeNode(x: 0) // n1 -> n2 の間にノード P を挿入する n1.left = P P.left = n2 print("\nノード P の挿入後\n") PrintUtil.printTree(root: n1) // ノード P を削除する n1.left = n2 print("\nノード P の削除後\n") PrintUtil.printTree(root: n1) } }