修改这段代码,使其实现A为根节点,B为A的左孩子,C为A的右孩子,D为B的左孩子,E为B的右孩子,H为E的左孩子,F为C的左孩子,G为C的右孩子,I为F的右孩子:int main() { TreeNode *root, *p, *pp,*ppp; Initiate(&root); p = InsertLeftNode(root, 'A'); p = InsertLeftNode(p, 'B'); p=pp; InsertLeftNode(p, 'D'); InsertRightNode(pp, 'E'); pp = InsertLeftNode(pp,'H'); p = InsertRightNode(root->leftChild, 'C'); ppp = p; InsertLeftNode(p, 'F'); InsertRightNode(ppp, 'G'); p=InsertRightNode(p,'I'); PrintBiTree(root->leftChild, 1); return 0; }
时间: 2023-07-14 13:13:08 浏览: 92
TreeView 修改节点源代码
修改后的代码如下:
```c++
int main() {
TreeNode* root, *p, *pp, *ppp;
Initiate(&root);
p = InsertLeftNode(root, 'A');
pp = p; // 将 B 节点存储在 pp 中
InsertLeftNode(p, 'D');
InsertRightNode(p, 'E');
p = InsertLeftNode(pp, 'F');
InsertRightNode(pp, 'G');
InsertRightNode(p, 'I');
PrintBiTree(root, 1);
return 0;
}
```
修改思路:
1. 首先创建根节点 A。
2. 创建 B 节点,并将其插入为根节点 A 的左孩子。
3. 将 B 节点存储在变量 pp 中,方便后面插入 D、E、F、G、I 节点使用。
4. 在 B 节点下插入 D 节点,作为 B 的左孩子。
5. 在 B 节点下插入 E 节点,作为 B 的右孩子。
6. 在 pp(即 B 节点)下插入 F 节点,作为 B 的左孩子的右孩子。
7. 在 pp(即 B 节点)下插入 G 节点,作为 B 的右孩子的右孩子。
8. 在 p(即 C 节点)下插入 I 节点,作为 C 的左孩子的右孩子。
9. 最后打印整棵树。
阅读全文