struct建立二叉树
时间: 2023-10-15 16:06:07 浏览: 80
使用struct建立二叉树的过程如下:
1. 首先,定义一个结构体BitNode,该结构体包含一个字符类型的数据data和两个指向BitNode结构体的指针lchild和rchild,分别表示左子树和右子树。这样就定义了一个二叉树的结点。
2. 接下来,使用typedef定义一个指向BitNode结构体的指针BiTree,方便后续使用。
3. 使用递归的方式,通过先序遍历的方式建立二叉树。在建立过程中,首先读入一个字符ch,如果该字符是特殊字符"#",则表示该结点无效,将其置为空。否则,申请一个BitNode结点的内存空间,并将读入的字符赋值给data。然后,递归地建立左子树和右子树,并将它们分别赋给lchild和rchild。
4. 最后,返回根结点指针T,即完成了二叉树的建立。
总结起来,使用struct建立二叉树的过程是:
1. 定义一个包含数据和指向左右子树的指针的结构体;
2. 使用typedef定义一个指向该结构体的指针类型;
3. 使用递归的方式,通过先序遍历建立二叉树。在建立过程中,根据输入的字符来创建结点,并递归地建立左右子树;
4. 返回根结点指针,完成二叉树的建立。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [C语言创建二叉树的方法(全)](https://blog.csdn.net/qq_39838607/article/details/118575952)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [C++创建二叉树](https://blog.csdn.net/OrangeGamp/article/details/120753010)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文