2022年输入某棵二叉树的广义表形式,建立该二叉树并按层次遍历该二叉树队列形式推荐 .pdf

上传人:H****o 文档编号:33665929 上传时间:2022-08-12 格式:PDF 页数:4 大小:60.61KB
返回 下载 相关 举报
2022年输入某棵二叉树的广义表形式,建立该二叉树并按层次遍历该二叉树队列形式推荐 .pdf_第1页
第1页 / 共4页
2022年输入某棵二叉树的广义表形式,建立该二叉树并按层次遍历该二叉树队列形式推荐 .pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《2022年输入某棵二叉树的广义表形式,建立该二叉树并按层次遍历该二叉树队列形式推荐 .pdf》由会员分享,可在线阅读,更多相关《2022年输入某棵二叉树的广义表形式,建立该二叉树并按层次遍历该二叉树队列形式推荐 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、掌握二叉树的二叉链表存储结构;掌握二叉树的遍历规则;利用二叉树的二叉链表存储结构实现二叉树的建树操作;利用二叉树的二叉链表存储结构实现二叉树层次遍历操作二叉树采用二叉链表结构表示。设计并实现如下算法:输入某棵二叉树的广义表形式,建立该二叉树,并按层次遍历该二叉树-队列形式#include #include #include #define STACK_MAX_SIZE 30 #define QUEUE_MAX_SIZE 30typedef struct BitNode char data; struct BitNode *lchild; struct BitNode *rchild; BitN

2、ode,*BiTree; typedef struct node BitNode *data; node,*queue; typedef struct Queue node *base; int front; int rear; Queue; void InitQueue(Queue *Q) Q-base=(queue)malloc(QUEUE_MAX_SIZE*sizeof(node); Q-front=Q-rear=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共

3、 4 页 - - - - - - - - - int EmptyQueue(Queue *Q) if(Q-front=Q-rear) return 1; else return 0; void EnQueue(Queue *Q,BitNode *e) Q-baseQ-rear.data=e; Q-rear+; BiTree DeQueue(Queue *Q) int m; m=Q-front; Q-front+; return (Q-basem.data); char a50; BiTree CreatBiTree(BiTree T) BiTree p; BiTree sSTACK_MAX_S

4、IZE; int top = -1; int flag; int i = 0; T=NULL; while(ai!=#) switch(ai) case :break; case (: top+; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - stop = p; flag = 1; break; case ): top-; break; case ,: flag = 0; break; default: p = (BitNod

5、e *)malloc(sizeof(BitNode); p-data = ai; p-lchild = p-rchild = NULL; if(T=NULL) T=p; else if( flag = 1) stop-lchild = p; else stop-rchild = p; i+; return T; void LevelOrder(BiTree T) Queue l; Queue *Q=&l; BiTree p; InitQueue(Q); if(T) EnQueue(Q,T); while(!EmptyQueue(Q) p=DeQueue(Q); printf(%c,p-data

6、); if(p-lchild) EnQueue(Q,p-lchild); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - if(p-rchild) EnQueue(Q,p-rchild); void main() BitNode *T; printf(please input the Generalized list: n); gets(a); T=CreatBiTree(T); printf(the order is:n); LevelOrder(T); getch(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁