全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026天津市卫生健康委员会所属天津市第一中心医院招聘54人考试笔试备考试题及答案解析
- 2025云南航信空港网络有限公司四季度员工招聘2人笔试考试参考题库及答案解析
- 2025四川内江市华琚建设有限公司招聘工作人员5人考试笔试参考题库附答案解析
- 2025河北工业大学廊坊分校招聘劳务派遣制工作人员2名考试笔试模拟试题及答案解析
- 大连七年级下考试卷子及答案
- 散料卸车机司机操作评估模拟考核试卷含答案
- 绝缘制品制造工复试评优考核试卷含答案
- 开清棉工岗前安全知识考核试卷含答案
- 2025云南西双版纳景洪市城市投资开发有限公司第二次社会招聘9人笔试考试参考试题及答案解析
- 2025福建莆田度尾镇向社会招聘消防员2人笔试考试参考试题及答案解析
- 中国拱桥课件幼儿园
- 仓库出入库培训
- 26《西门豹治邺》 公开课一等奖创新教学设计
- 直播保密协议书
- 丑小鸭儿童故事绘本课件
- 2025年公司员工安全培训考试试题含完整答案(考点梳理)
- 军队文职人员(中医学)科目近年考试真题(200题)
- 血液科临床护理小讲课
- 《头面部穴位按摩》课件
- 《流感与普通感冒的防治》课件
- 《医疗卫生机构医用气体系统安全管理规范》(T-SHWSHQ 10-2022)
评论
0/150
提交评论