ACM--二叉树遍历
来源:互联网 发布:apk下载引导页html源码 编辑:程序博客网 时间:2024/05/21 07:13
九度oj地址:点击打开链接
- /*********************************
- * 日期:2013-3-7
- * 作者:SJF0115
- * 题号: 九度OJ 题目1184:二叉树遍历
- * 来源:http://ac.jobdu.com/problem.php?pid=1184
- * 结果:AC
- * 来源:2002年华中科技大学计算机研究生机试真题
- * 总结:
- **********************************/
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- char array[101];
- //二叉树结点
- typedef struct BiTNode{
- char data;
- struct BiTNode *lchild,*rchild;
- }BiTNode,*BiTree;
- //按先序序列创建二叉树
- int CreateBiTree(BiTree &T,int &index,int &n){
- if(index == n){
- return 0;
- }
- //按先序次序输入二叉树中结点的值(一个字符),‘#’表示空树
- if(array[index] == '#'){
- T = NULL;
- index++;
- }
- else{
- T = (BiTree)malloc(sizeof(BiTNode));
- //生成根结点
- T->data = array[index];
- index++;
- //构造左子树
- CreateBiTree(T->lchild,index,n);
- //构造右子树
- CreateBiTree(T->rchild,index,n);
- }
- return 0;
- }
- //输出
- void Visit(BiTree T){
- if(T->data != '#'){
- printf("%c ",T->data);
- }
- }
- //中序遍历
- int InOrder(BiTree T){
- if(T != NULL){
- //访问左子结点
- InOrder(T->lchild);
- //访问根节点
- Visit(T);
- //访问右子结点
- InOrder(T->rchild);
- }
- return 0;
- }
- int main()
- {
- int len,index;
- while(scanf("%s",array) != EOF){
- BiTree T;
- len = strlen(array);
- index = 0;
- //创建二叉树
- CreateBiTree(T,index,len);
- //中序遍历
- InOrder(T);
- printf("\n");
- }
- return 0;
- }
参考:http://blog.csdn.net/sjf0115/article/details/8645571
1 0
- ACM--二叉树遍历
- ACM - 暑期第三天:二叉树遍历
- ACM-二叉树
- 二叉树遍历、分层遍历
- 遍历二叉树--二叉树
- acm hnu 10415 分硬币的一种解法(递归遍历二叉树的方法,超时)
- acm sdut 数据结构实验之二叉树的建立与遍历
- 【树】遍历二叉树
- 二叉树遍历
- 二叉树遍历
- 二叉树的遍历
- (原创)遍历二叉树
- 二叉树遍历-php
- 查找--遍历二叉树
- 遍历二叉树
- 二叉树遍历规则
- 二叉树的遍历
- 二叉树遍历
- 打印log信息
- [安卓开发笔记一]Android开发配置opencv环境超详细教程
- JBPM——中文乱码
- Java字符编码
- 用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术。例如,下图是用 ASCII 字符画出来的 CSPRO 字样。 ..____.____..____.._
- ACM--二叉树遍历
- Andorid下的状态选择器(带shape类型)
- jsp&servlet面试题经典
- UVA_534_Frogger
- Google自己的下拉刷新组件 SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉刷新
- 使用React实现类似快递单号查询效果
- hdu2159 FATE(二维完全背包)
- MyBatis中的批量删除操作
- 记录博客的开通