【数据结构】二叉树,以前序序列输入
来源:互联网 发布:淘宝客服售后话术大全 编辑:程序博客网 时间:2024/05/01 16:56
/*实验5:建立一棵二叉树,以前序序列输入,以非空格字符表示结点的值,以空格字符表示空指针;实现该二叉树的前序遍历、中序遍历和后序遍历。*/#include<stdio.h>#include<stdlib.h>#define OK 1;typedef char TElemType;typedef int Status;//二叉树的存储表示方式typedef struct BiTNode{TElemType data;struct BiTNode *lchild,*rchild;//左右孩子指针}BiTNode,*BiTree;//创建二叉树,使用前序序列输入数据,空格表示空树Status CreateBiTree(BiTree &T){char ch ;scanf("%c",&ch);getchar();if(ch == ' ')T = NULL;else{if(!(T = (BiTNode *)malloc(sizeof(BiTNode))))exit(0);T->data = ch;//生成根节点CreateBiTree(T->lchild);//构造左子树CreateBiTree(T->rchild);//构造右子树}return OK;}//前序遍历Status PreOrderTraverse(BiTree T){if(T){printf("%c",T->data);PreOrderTraverse(T->lchild);PreOrderTraverse(T->rchild);}return OK;}//中序遍历Status InOrderTraverse(BiTree T){if(T){InOrderTraverse(T->lchild);printf("%c",T->data);InOrderTraverse(T->rchild);}return OK;}//后序遍历Status PostOrderTraverse(BiTree T){if(T){PostOrderTraverse(T->lchild);PostOrderTraverse(T->rchild);printf("%c",T->data);}return OK;}//主函数void main(){BiTree T;printf("请按照先序序列输入你的二叉树,空格表示空树\n");CreateBiTree(T);printf("前序遍历如下:\n");PreOrderTraverse(T);printf("\n");printf("中序遍历如下:\n");InOrderTraverse(T);printf("\n");printf("后序遍历如下:\n");PostOrderTraverse(T);printf("\n");}
By Mr.Z
- 【数据结构】二叉树,以前序序列输入
- 【数据结构】输入二叉树的前序序列,输出二叉树的不同度的结点个数
- 【学习点滴-数据结构-二叉树】序列是否是二叉查找树的后序遍历结果
- 数据结构之二叉树: 二叉树序列化
- 数据结构--二叉树---由二叉树的先序和中序序列建树(二叉树的存储)
- 数据结构--二叉树--按给定的先序序列建立二叉链表(二叉树的存储)
- 由前序遍历序列跟中序遍历序列生成二叉树,如果输入序列不正确返回fail~ 如果正确则前序遍历创建的二叉树
- 数据结构--二叉序树
- 输入一个数列,判断是否为某一个二叉搜索树的后序遍历序列
- 剑指:根据输入的前序和中续遍历序列重建二叉树
- 数据结构与算法分析笔记与总结(java实现)--二叉树20:二叉搜索树的后序遍历序列
- 数据结构练习---遍历序列与二叉树的复原
- 【学习点滴-数据结构-二叉树】整数序列放入二叉树中
- 数据结构与算法分析笔记与总结(java实现)--二叉树25:序列化二叉树
- 数据结构学习笔记(9)---已知二叉树的遍历序列,恢复二叉树
- 数据结构与算法问题 判断两序列是否为同一二叉搜索树序列
- 二叉树基础-由中根序列和后根序列重建二叉树(数据结构基础 第5周)
- 数据结构之已知二叉树前中序列求后序
- private继承与复合
- 访问数据库数据过大:java.lang.OutOfMemoryError: Java heap space :设置jvm虚拟机heap大小
- 移动互联网人:创业、投资、冷暖自知
- 平台调用P-INVOKE(一)--(基础篇)
- 串口通信-MSComm控件使用详解
- 【数据结构】二叉树,以前序序列输入
- httpd.exe: Syntax error on line 129 of D:/ApaServ/Apache2.2/conf/httpd.conf
- DLL中调用约定和名称修饰
- 一个简单的Cucumber+Capybara的BDD开发例子
- 用IE浏览器调试ocx,进不了断点
- linux下mysql命令
- eclipse远程调试
- Linux-dd命令详解
- 职场36计之“傻人”心计