


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include /*I/O函数*/#include conio.h#include stdlib.h#define QUEUESIZE 100 /*队列初始容量*/#define TRUE 1#define FALSE !TRUE#define Statu int#define BitTreeElementType int#define SHUJU %d#define END -1typedef struct Bitnode/*树的链式存储*/BitTreeElementType data;struct Bitnode *lchild;/*左孩子 */struct Bitnode *rchild;/*右孩子*/BTnode,*BitTree;typedef BitTree QueueElemtype;typedef struct/*定义数据结构*/QueueElemtype dataQUEUESIZE;int front;/*队列的头指针*/int rear;/*队列的尾指针*/queue;int CreateQueue(queue *q);/*创建队列*/int EnQueue(queue *q, QueueElemtype c);/*向队尾插入元素c*/Statu DeQueue(queue *q, QueueElemtype *reb);/*队头元素出队用reb返回其值*/Statu CreateBitTree(BitTree *T);/*初始化二叉树*/Statu LayerTravelBitTree(BitTree T);/*层次遍历二叉树*/Statu VisitData(BitTreeElementType data);void main()BitTree t;printf(Input data to create bittree and );printf(SHUJU,END);printf( will make null tree.n);/*输入根结点 */CreateBitTree(&t);/*初始化二叉树*/printf(Layer order travel the tree:n);/*层次遍历二叉树*/LayerTravelBitTree(t);/*层次遍历二叉树*/Statu CreateBitTree(BitTree *T)/*初始化二叉树*/BitTreeElementType inputdata;*T = (BitTree )malloc(sizeof(BTnode);printf(Enter Data:);/*输入数据*/fflush(stdin);scanf(SHUJU,&inputdata);if ( inputdata = END) T = NULL; return FALSE;else(*T)-data = inputdata;/*将输入的数据存入结点*/ printf(Create left sub tree.lchild);/*递归循环输入左子树*/ printf(Create right sub tree.rchild);/*递归循环输入右子树*/ return TRUE;Statu LayerTravelBitTree(BitTree T)/*层次遍历二叉树*/queue tq;/*队列tq*/QueueElemtype res;/*用来返回对头元素*/CreateQueue(&tq);/*创建队列*/EnQueue(&tq,T);/*将T插入队尾*/while ( DeQueue(&tq,&res) = TRUE)/*当队头元素不空时执行while循环*/if (res) ;/*访问队头元素*/ if(res-lchild-data != -1) EnQueue(&tq,res-lchild); /*将结点左孩子插入队尾*/VisitData(res-data); if(res-rchild-data != -1) EnQueue(&tq,res-rchild);/*将结点右孩子插入队尾*/ return TRUE;int CreateQueue(queue *q)q-front = -1;q-rear = -1;return TRUE;int EnQueue(queue *q, QueueElemtype c)/*将元素c插入队尾*/q-rear+;/*尾指针加1*/if (q-rear = QUEUESIZE)/*若尾指针超出队列长度则提示错误*/ printf(Queue overflow!n); exit(0);q-dataq-rear = c;return 1;Statu DeQueue(queue *q, QueueElemtype *ret)/*队头元素出队并用ret返回其值*/if (q-front = q-rear)/*若队列为空,则返回错误提示*/ return FALSE;q-front+;/*头指针加1*/*ret
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年人力资源行业数字化招聘与人才培养研究报告
- 2025年老年医学诊疗技术单项选择模拟卷答案及解析
- 2025年戒毒医学综合能力测验模拟考试卷答案及解析
- 2025年麻醉科危重病人监护技术模拟考试答案及解析
- 2025山东威海方正外国语学校教师招聘5人笔试备考试题及答案解析
- 2025福建福州捕电科技有限公司招聘12人笔试参考题库附答案解析
- 2025年外科手术技术模拟考试答案及解析
- 2025四川长虹智能机器人公司招聘机械设计工程师等岗位笔试参考题库附答案解析
- 2025年口腔医学模拟口腔疾病诊断答案及解析
- 2025福建南平市公安局建阳分局招聘警务辅助人员16人笔试参考题库附答案解析
- 电动起重机司机装卸司机
- DLT817-2014 立式水轮发电机检修技术规程
- 上海西门妇孺医院研究(1884-1952)
- 劳动创造美好生活课件 第二课 璀璨的星空
- 使用林地可行性研究报告
- (样表)有限空间有毒有害气体检测表
- 公司员工考勤表模板竖版
- 模电ppt课件 第1章绪论
- 水处理项目施工组织方案
- 幼儿园红色故事绘本:《闪闪的红星》 课件
- GA/T 383-2014法庭科学DNA实验室检验规范
评论
0/150
提交评论