



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#includemalloc.h#define NULL 0#includestdio.htypedef struct nodechar data;struct node *lchild,*rchild;NODE;int count;NODE *crt_bt_pre()/*二叉树先序创建算法*/NODE * bt;char ch;printf(nttt);scanf(%c,&ch);getchar();if(ch= ) bt=NULL; else bt=(NODE*)malloc(sizeof(NODE); bt-data=ch; printf(nttt请输入%c结点的左孩子:,bt-data); bt-lchild=crt_bt_pre(); printf(nttt请输入%c结点的右孩子:,bt-data); bt-rchild=crt_bt_pre(); return(bt);void Preorder(NODE* bt)/*二叉树先序递归遍历算法*/if(bt!=NULL)printf(nttt %c,bt-data); Preorder(bt-lchild);Preorder(bt-rchild);void Inorder(NODE* bt)if(bt!=NULL)Inorder(bt-lchild);printf(nttt %c,bt-data);Inorder(bt-rchild);void Postorder(NODE* bt)if(bt!=NULL)Postorder(bt-lchild);Postorder(bt-rchild);printf(nttt %c,bt-data);int CountLeaf(NODE *bt)/*求二叉树叶子结点数的递归遍历算法*/if(bt=NULL)return 0;if(bt-lchild=NULL&bt-rchild=NULL)count+;CountLeaf(bt-lchild);CountLeaf(bt-rchild);return(count);int CountNode (NODE* bt)/*求二叉树结点数的递归遍历算法*/if(bt=NULL) return 0;elsecount+;CountNode(bt-lchild);CountNode(bt-rchild);return(count);int TreeDepth(NODE* bt)/*求二叉树深度的递归遍历算法*/int x,y;if(bt=NULL) return 0;elsex=TreeDepth(bt-lchild); y=TreeDepth(bt-rchild);if(xy)return(x+1);elsereturn(y+1);void main()NODE *bt;char choice;int j=1;int x;while(j)printf(nnn);printf(ttt-二叉树的基本运算-n);printf(nttt*);printf(nttt* 1-建二 差树 *);printf(nttt* 2-先序 遍历 *); printf(nttt* 3-中序 遍历 *);printf(nttt* 4-后序 遍历 *);printf(nttt* 5-统计 叶子数 *);printf(nttt* 6-统计 结点数 *);printf(nttt* 7-求二叉树深度 *);printf(nttt* 0-退 出 *);printf(nttt*);printf(ttt请选择菜单号(0-7):);scanf(%c,&choice);getchar();if(choice=1) printf(nttt请输入按先序建立二叉树的结点序列: ); printf(nttt说明: 逐个输入,输入空格代表后续结点为空,按回车输入下一个结点.); printf(nttt请输入根结点: ); bt=crt_bt_pre(); printf(nttt二叉树成功建立!n);else if(choice=2)printf(nttt该二叉树的先序遍历序列为: );Preorder(bt);else if(choice=3)printf(nttt该二叉树的中序遍历序列为: );Inorder(bt);else if(choice=4)printf(nttt该二叉树的后序遍历序列为: );Postorder(bt);else if(choice=5)count=0;CountLeaf(bt);printf(nttt该二叉树有%d个叶子结点。n,count);else if(choice=6)count=0;x=CountNode(bt);printf(nttt该二叉树共有%d个叶子结点。n,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五年级上册劳动技术课工作计划
- 数字营销对消费者决策的影响
- 房地产金融行业市场现状及未来发展趋势展望
- 2025法律职业资格考试试题附答案详解
- 老酒店拆除施工方案
- 工程管理成本控制费用分析表
- 2025年铁路运营管理师新员工岗位专业知识笔试题目及答案
- 2024-2025学年全国统考教师资格考试《教育教学知识与能力(小学)》模考模拟试题含完整答案详解(各地真题)
- 2024年高升专检测卷含答案详解(研优卷)
- 户外运动安全承诺及免责合同
- 烟草证借用合同协议书
- 合同协议书格式怎么写
- 解除市场经营协议书
- 接送病人用车协议书
- 《现代色谱技术之液相色谱法》课件
- 《寻找消失的分数》期中考试分析班会课件
- 2025至2030年中国移动式皮带输送设备市场调查研究报告
- 摩擦纳米发电机优化论文
- 科技馆面试题及答案
- 2022年二级建造师考试《矿业工程管理与实物》真题及答案
- 数据中心锂离子电池消防安全白皮书
评论
0/150
提交评论