


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上#include<stdio.h>#include<stdlib.h>#include<process.h> #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define OVERFLOW -2 typedef char TElemType; typedef int Status; typedef struct BiTNode TElemType data; BiTNode *lchild,*rchild; / 左右孩子指针 BiTNode,*BiTree;
2、typedef BiTree QElemType; #include"LinkQueue.h" void Visit(TElemType e) printf("%c",e); void CreateBiTree(BiTree &T) / 算法6.4:按先序次序输入二叉树中结点的值(可为字符型或整型,在主程中定义), / 构造二叉链表表示的二叉树T。变量Nil表示空(子)树。有改动 TElemType ch; scanf("%c",&ch); if(ch='#') / 空 T=NULL; else T=(
3、BiTree)malloc(sizeof(BiTNode); / 生成根结点 if(!T) exit(OVERFLOW); T->data=ch; CreateBiTree(T->lchild); / 构造左子树 CreateBiTree(T->rchild); / 构造右子树 void PreOrderTraverse(BiTree T ) / 初始条件:二叉树T存在,Visit是对结点操作的应用函数。算法6.1,有改动 / 操作结果:先序递归遍历T,对每个结点调用函数Visit一次且仅一次 if(T) / T不空 printf("%c",(T->
4、data); / 先访问根结点 PreOrderTraverse(T->lchild ); / 再先序遍历左子树 PreOrderTraverse(T->rchild); / 最后先序遍历右子树 void InOrderTraverse(BiTree T) / 初始条件:二叉树T存在,Visit是对结点操作的应用函数 / 操作结果:中序递归遍历T,对每个结点调用函数Visit一次且仅一次 if(T) InOrderTraverse(T->lchild); / 先中序遍历左子树 printf("%c",(T->data); / 再访问根结点 InOrd
5、erTraverse(T->rchild); / 最后中序遍历右子树 void PostOrderTraverse(BiTree T) / 初始条件:二叉树T存在,Visit是对结点操作的应用函数 / 操作结果:后序递归遍历T,对每个结点调用函数Visit一次且仅一次 if(T) PostOrderTraverse(T->lchild); / 先后序遍历左子树 PostOrderTraverse(T->rchild); / 最后后序遍历右子树 printf("%c",(T->data); / 再访问根结点 void LevelOrderTravers
6、e(BiTree T,void(*Visit)(TElemType) / 初始条件:二叉树T存在,Visit是对结点操作的应用函数 / 操作结果:层序递归遍历T(利用队列),对每个结点调用函数Visit一次且仅一次 LinkQueue q; QElemType a; if(T) InitQueue(q); / 初始化队列q EnQueue(q,T); / 根指针入队 while(!QueueEmpty(q) / 队列不空 DeQueue(q,a); / 出队元素(指针),赋给a Visit(a->data); / 访问a所指结点 if(a->lchild!=NULL) / a有左孩
7、子 EnQueue(q,a->lchild); / 入队a的左孩子 if(a->rchild!=NULL) / a有右孩子 EnQueue(q,a->rchild); / 入队a的右孩子 printf("n"); void main() BiTree T;printf("按先序顺序输入二叉树中结点的值,#代表空n"); CreateBiTree(T); printf("先序遍历二叉树结果为:"); PreOrderTraverse(T); printf("n中序遍历二叉树的结果为:"); InOrderTraverse(T); printf("n后序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋买卖合同中常见法律问题
- 广东省深圳市2025年九年级上册数学月考试卷附答案
- 微气压波数值模拟-洞察及研究
- 尼龙原材料委托加工协议6篇
- 2025年高考政治总复习《政治生活》模块全套复习提纲
- 数据安全传输机制-洞察及研究
- 跨文化健康行为差异-洞察及研究
- 浙江省2025-2026学年七年级语文上学期第一次月考复习试卷(含答案)
- 数据存储系统的分布式设计与优化方法-洞察及研究
- 部门安全生产培训制度课件
- 印刷品供货及质量保障措施服务技术方案投标
- 国家网络安全知识竞赛题库含完整答案【必刷】
- 实验室生物安全程序文件
- 中医技术培训课件:《穴位贴敷临床应用》
- 土方工程设计说明
- TL-PMM180超低烟尘使用及维护培训
- 有趣营销案例分析
- 小学1-6年级英语知识点归纳汇总
- 品质部组织架构与职位体系
- 财政局经建科知识讲座
- 《观察与沟通》课件
评论
0/150
提交评论