二叉树的建立以及先序,中序,后序遍历
2017-11-10 21:04
316 查看
已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并按前序中序后序
方式遍历该二叉树。
#include<stdio.h> #include<stdlib.h> #include<string.h> #define N 51 typedef struct Bintree { char data; struct Bintree *lchild,*rchild; }Bintree,*Bin; char a ; int i=-1; Bin creat() //结构体指针类型 还可以Bintree *creat() { Bintree *T; if(a[++i]!=',') { T=(Bintree*)malloc(sizeof(Bintree)); T->data =a[i]; T->lchild=creat(); T->rchild=creat(); return T; } else { return NULL; } } void preorder(Bintree*T) { if(T) { printf("%c",T->data); preorder(T->lchild); preorder(T->rchild); } } void inorder(Bintree *T) { if(T) { inorder(T->lchild ); printf("%c",T->data ); inorder(T->rchild ); } } void finorder(Bintree *T) { if(T) { finorder(T->lchild ); finorder(T->rchild ); printf("%c",T->data ); } } int main() { Bintree *T; gets(a); T=creat(); //建立二叉树 preorder(T); printf("\n"); inorder(T); printf("\n"); finorder(T); printf("\n"); }
方式遍历该二叉树。
相关文章推荐
- 二叉树建立以及先序、中序、后序、层次遍历(JAVA 实现)
- python实现二叉树的建立以及遍历(递归前序、中序、后序遍历,队栈前序、中序、后序、层次遍历)
- 二叉树的建立以及先序、中序、后序遍历C语言实现
- 二叉树的建立以及前序、中序、后序遍历的递归和非递归实现
- 二叉树基本操作的递归实现(二叉树建立,先序,中序,后序,深度的递归遍历。广度优先,高度优先的非递归遍历)
- 根据先序和中序或后序和中序建立二叉树及树的遍历
- 二叉树的线索化以及 线索化的先序,中序,后序遍历
- 二叉树的建树,按层遍历,结点总数,页结点,深度以及三序非递归遍历二叉树,建立中序线索二叉树
- [置顶] 二叉树的非递归前序、中序以及后序遍历C++模版类实现
- 温习二叉树的建立和先序 中序 后序遍历 嵌套
- 二叉树 的先序 中序、后序遍历、层次遍历以及树状打印等操作
- [算法与数据结构] - No.7 二叉树建立及其前序、中序、后序遍历
- 数据结构_二叉树的先序建立与先序,中序,后序(递归)遍历方式_C语言源代码
- LeetCode 106. Construct Binary Tree from Inorder and Postorder Traversal (用中序和后序树遍历来建立二叉树)
- 二叉树建立,递归,非递归,前序,中序,后序遍历
- 二叉树各种相关操作(建立二叉树、前序、中序、后序、求二叉树的深度、查找二叉树节点,层次遍历二叉树等)(C语言版)
- JS建立二叉树&先序、中序、后序遍历
- 二叉树的建立、前序、中序、后序遍历
- 二叉树的创建以及前序、中序、后序遍历
- 树的遍历 有后序遍历和中序遍历建立二叉树,并输出层次遍历