数据结构之二叉树的生成与遍历
来源:互联网 发布:结婚算日子软件 编辑:程序博客网 时间:2024/05/21 00:21
/******************遍历二叉树*****************/#include"stdio.h"#include"stdlib.h"typedef char ElemType;typedef struct BiTNode{ElemType data;struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;/****************Operator********************/BiTree CreateBiTree(){BiTree T;ElemType ch;scanf(" %c",&ch);//在scanf函数中%c前有一个空格 表明一次一个的输入 //若是缺少那一个空格 将得不到正确结果if(ch=='#')T=NULL;else{T=(BiTree)malloc(sizeof(BiTNode));T->data=ch;T->lchild=CreateBiTree();T->rchild=CreateBiTree();}return T;}void PreOrderTraverse(BiTree T)//前序遍历{if(T!=NULL){printf("%c ",T->data);PreOrderTraverse(T->lchild);PreOrderTraverse(T->rchild);}}void InOrderTraverse(BiTree T)//中序遍历{if(T!=NULL){InOrderTraverse(T->lchild);printf("%c ",T->data);InOrderTraverse(T->rchild);}}void PostOrderTraverse(BiTree T)//后序遍历{if(T!=NULL){PostOrderTraverse(T->lchild);PostOrderTraverse(T->rchild);printf("%c ",T->data);}}main(void){BiTree T;T=CreateBiTree();PreOrderTraverse(T);printf("\n");InOrderTraverse(T);printf("\n");PostOrderTraverse(T);}/********************************************************//**********************测试用例**************************//************ ABC###DE##F## ***************//********************************************************/
0 0
- 数据结构之二叉树的生成与遍历
- [C++ 二叉树的构建与遍历] 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树的建立与遍历
- 数据结构之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 2136 数据结构实验之二叉树的建立与遍历
- 2136 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- sdutoj2136 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 字符串的加密与解密
- get和load方式是根据id取得一个记录
- CheckPalindrome
- DAY19--java中的IO操作总结
- class Wrapper
- 数据结构之二叉树的生成与遍历
- <bean class="org.springfram
- 编译GCC及其多版本并存控制
- LA6276 - Key Insight vector 数组计数
- UVA 11235 RMQ问题
- exec函数族
- C语言字符串反转函数
- 服务器选择对SEO的影响
- paip.关于动画特效原理 html js 框架总结