二叉树的基本操作
来源:互联网 发布:外国人的审美 知乎 编辑:程序博客网 时间:2024/05/16 17:36
(1)二叉树的创建
(2)对进行先,中,后序遍历
// Bitree.cpp: 定义控制台应用程序的入口点。//#include<iostream>#include<stdio.h>using namespace std;typedef char TElemType;enum Status { OK = 1,ERROR = 0 };//枚举类型typedef struct BiTNode{//结点类型 TElemType data; struct BiTNode * lchild, * rchild;}* BiTree,BiTNode;Status CreateBiTree(BiTree &T) {//创建二叉树 char ch; scanf_s("%c",& ch);//输入数据 getchar();//取回车 if (ch == ' ')T = NULL; else { if (!(T = (BiTNode*)malloc(sizeof(BiTNode))))exit (OVERFLOW);//开辟空间 T->data = ch; CreateBiTree(T->lchild);//递归创建左子树 CreateBiTree(T->rchild);//递归创建右子树 } return OK;}Status PreOrderTraverse(BiTree T) { if (T) { if(printf("%c ", T->data))//打印结点数据 if (PreOrderTraverse(T->lchild))//递归遍历左子树 if (PreOrderTraverse(T->rchild))return OK;//递归遍历右子树 return ERROR; } else return OK;}Status InOrderTraverse(BiTree T) { if (T) { if (PreOrderTraverse(T->lchild)) if(printf("%c ", T->data)) if (PreOrderTraverse(T->rchild))return OK; return ERROR; } else return OK;}Status PostOrderTraverse(BiTree T) { if (T) { if (PreOrderTraverse(T->lchild)) if (PreOrderTraverse(T->rchild)) if (printf("%c ", T->data))return OK; return ERROR; } else return OK;}int main(){ BiTree T; CreateBiTree(T); PreOrderTraverse(T); printf("\n"); InOrderTraverse(T); printf("\n"); PostOrderTraverse(T); return 0;}
阅读全文
0 0
- 二叉树的基本操作
- 二叉树的基本操作
- 二叉树的基本操作
- 二叉树的基本操作
- 二叉树的基本操作
- 二叉树的基本操作
- 二叉树的基本操作
- 二叉树的基本操作
- 二叉树的基本操作
- 二叉树的基本操作
- 二叉树的基本操作
- 二叉树的基本操作
- 二叉树的基本操作
- 二叉树的基本操作
- 二叉树的基本操作
- 二叉树的基本操作
- 二叉树的基本操作
- 二叉树的基本操作
- 软件分享
- 【Python】主(main)函数的原理
- n个数的排序
- PHP 类与对象(重载)
- Oracle Incident Response and Forensics.pdf 2017 英文原版 免费下载
- 二叉树的基本操作
- Codeforces Round #451 (Div. 2) A-B
- C语言(^)位异或运算符运算符 交换两个数位置
- 字母图形练习
- jzoj1935 [2011集训队出题] 单选错位 概率水题
- Linux系统的安装
- shiro的session和servlet的session的区别
- JDBC报错:Cannot find class: com.mysql.jdbc.Driver
- 周总结(一)