建树为什么从根开始接
建一棵树总是先造根、再往下接,因为【0】。
根的左边挂的是谁
运行下面这段程序: #include <iostream> #include <queue> #include <string> #include <vector> using namespa
先造根和它的两个孩子
补全:造出根「总部」,左边挂「华北」,右边挂「华南」。补全后输出右边挂的是谁。 (本题用 g++ -std=c++17 -O0 编译。)
再把第三层补上
在上一题的基础上补第三层:华北下面挂「北京」和「天津」,华南只有右边挂「广州」。补全后输出华北右边挂的是谁。 (本题用 g++ -std=c++17 -O0 编译。)
判断一个节点是不是叶子
补全 is_leaf:左右都为空就返回 true。拿「北京」这个节点来判,输出结果。 (本题用 g++ -std=c++17 -O0 编译。)
释放整棵树用哪种顺序
第 1 步:要把整棵树 delete 干净 第 2 步:先放左下角的 4 第 3 步:再放 5 第 4 步:2 的孩子都没了,放 2 第 5 步:右边:先放 6 第 6 步:再放 3 第 7 步:最后才放最上面的 1 第 8 步:一个不漏,
只 delete 根会怎样
整棵树用完了,只写一句 delete root;,结果是【0】。
析构函数里释放孩子
如果 ~TNode() 里写了 delete left; delete right;,那么 delete root; 会【0】。
后序释放了几个
运行下面这段程序: #include <iostream> #include <queue> #include <string> #include <vector> using namespa
后序释放的先后顺序
运行下面这段程序: #include <iostream> #include <queue> #include <string> #include <vector> using namespa