mirror of
https://github.com/krahets/hello-algo.git
synced 2025-07-06 14:27:26 +08:00
feat: add Swift codes for binary_tree article
This commit is contained in:
40
codes/swift/chapter_tree/binary_tree.swift
Normal file
40
codes/swift/chapter_tree/binary_tree.swift
Normal file
@ -0,0 +1,40 @@
|
||||
/**
|
||||
* File: binary_tree.swift
|
||||
* Created Time: 2023-01-18
|
||||
* Author: nuomi1 (nuomi1@qq.com)
|
||||
*/
|
||||
|
||||
import utils
|
||||
|
||||
@main
|
||||
enum BinaryTree {
|
||||
/* Driver Code */
|
||||
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)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user