二叉树的三种遍历代码及其注释

上传人:简****9 文档编号:111783785 上传时间:2019-11-03 格式:DOC 页数:3 大小:14.87KB
返回 下载 相关 举报
二叉树的三种遍历代码及其注释_第1页
第1页 / 共3页
二叉树的三种遍历代码及其注释_第2页
第2页 / 共3页
二叉树的三种遍历代码及其注释_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《二叉树的三种遍历代码及其注释》由会员分享,可在线阅读,更多相关《二叉树的三种遍历代码及其注释(3页珍藏版)》请在金锄头文库上搜索。

1、#include#include#include#include#include#include#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1using namespace std;typedef int Status;#define CHAR#ifdef CHARtypedef char ElemType;ElemType Nil=#;#endiftypedef struct BiTNodeElemType data;/ 结点的值BiTNode *lchild,*rchild; / 左

2、右孩子指针BiTNode,*BiTree;Status InitBiTree(BiTree &T)/ 操作结果:构造空二叉树TT=NULL;return OK;void CreateBiTree(BiTree &T)/ 算法6.4:按先序次序输入二叉树中结点的值(可为字符型或整型,在主程中定义),/ 构造二叉链表表示的二叉树T。变量Nil表示空(子)树。修改ElemType ch;#ifdef CHARscanf(%c,&ch);#endifif(ch=Nil)T=NULL;else T=(BiTree)malloc(sizeof(BiTNode); if(!T) exit(OVERFLOW)

3、; T-data=ch; CreateBiTree(T-lchild); CreateBiTree(T-rchild);void PreOrderTraverse(BiTree T,Status(*Visit)(ElemType) if(T) Visit(T-data); PreOrderTraverse(T-lchild,Visit); PreOrderTraverse(T-rchild,Visit); void InOrderTraverse(BiTree T,Status(*Visit)(ElemType) if(T) InOrderTraverse(T-lchild,Visit); V

4、isit(T-data); InOrderTraverse(T-rchild,Visit); void PostOrderTraverse(BiTree T,Status(*Visit)(ElemType) if(T) PostOrderTraverse(T-lchild,Visit); PostOrderTraverse(T-rchild,Visit); Visit(T-data); Status Visit(ElemType e) #ifdef CHAR printf(%c ,e); #endif return OK;int main()BiTree T,p,c; ElemType e1,e2; int i;InitBiTree(T);/ 初始化二叉树TCreateBiTree(T);/ 建立二叉树Tprintf(前序遍历结果:);PreOrderTraverse(T,Visit);printf(n);/ 先序递归遍历二叉树Tprintf(中序遍历结果:);InOrderTraverse(T,Visit);printf(n);/ 中序递归遍历二叉树Tprintf(后序遍历结果:);PostOrderTraverse(T,Visit);printf(n);/ 后序递归遍历二叉树T

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号