用递归方法建立二叉树
来源:互联网 发布:淘宝上有什么好东西 编辑:程序博客网 时间:2024/06/06 05:11
假设二叉树为:
a
b c
d e
因为程序中要知道叶子结点(终点),所以要将上面的二叉树变成扩展二叉树 (把叶子结点的孩子补成#, 用作标记), 扩展后就变成了:
a
b c
# d # e
# # # #
那么,在输入的时候,需要输入: ab#d##c#e## (注意,输入后,按enter键即可) ,程序如下:
#include<iostream>using namespace std;typedef struct node{struct node *leftChild;struct node *rightChild;char data;}BiTreeNode, *BiTree;void createBiTree(BiTree &T){char c;cin >> c;if('#' == c)T = NULL;else{T = new BiTreeNode;T->data = c;createBiTree(T->leftChild);createBiTree(T->rightChild);}}int main(){BiTree T;createBiTree(T);return 0;}
经遍历验证可知,上面的程序是正确的, 至于如何遍历,以后的博文会陆续给出相应的程序.
- 用递归方法建立二叉树
- 用递归方法建立二叉树
- 用递归方法建立二叉树
- 用递归方法建立二叉树
- 非递归队列方法建立二叉树
- 递归和非递归方法建立二叉树
- 递归建立二叉树
- 递归建立二叉树
- 用括号法递归建立二叉树
- 二叉树的递归建立
- 递归法中序建立二叉树
- 递归建立二叉搜索树
- 二叉树的递归建立
- 二叉树的递归建立
- 二叉树建立、递归、非递归遍历
- 二叉树的建立、三种(递归、非递归)遍历方法
- 用递归些线索二叉树建立的注释
- 先序递归建立二叉树
- Day06第六天java基础------------面向对象
- 关于qt 的sqlite数据库的使用总结
- Day07第七天java基础----------继承
- ORACLE数据库中 row_number() over(partition by col1 order by col2) 用法
- HDU 1087
- 用递归方法建立二叉树
- Java RMI
- [转]个性化推荐--能否造就下一代霸主?
- Thinkphp 隐藏 index.php 方法
- Day08第八天java基础-----------多态
- 凸包(Convex hull)
- 从Win32程序的主函数WinMain中获取命令行参数
- 如何查看oracle进程消耗的内存
- SS,ESP及EIP