




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include#include #define MAX 50 #define MAS 20 #define CHAR 1 #if CHARtypedef char TElemType;TElemType Nil= ;#define form %c#elsetypedef int TElemType;TElemType Nil=0;#define form %d #endif typedef struct node TElemType data;struct node *left;struct node *right; struct node *parent; BiTNode,*BiTree;
2、BiTNode *InitBiTree(BiTNode *bt)bt=NULL;return bt;BiTNode *CreateBiTree(BiTNode *bt)TElemType ch;scanf(form,&ch);if(ch=Nil) bt=NULL;elsebt=(BiTNode *)malloc(sizeof(BiTNode); if(!bt) exit(0);bt-data=ch; bt-parent=NULL; bt-left=CreateBiTree(bt-left); if(bt-left) bt-left-parent=bt; bt-right=CreateBiTre
3、e(bt-right); if(bt-right) bt-right-parent=bt;return bt;void PrintTree(BiTNode *bt,int i) if(bt!=NULL)PrintTree(bt-right,i+5);#if CHAR if(bt-data!=Nil) printf(%*cn,i,bt-data);#elseif(bt-data!=Nil) printf(%*dn,i,bt-data);#endifPrintTree(bt-left,i+5);i=i-5;void Prorderl(BiTNode *bt,void(*visit)(TElemTy
4、pe)/*先序遍历 */ if(bt!=NULL)visit(bt-data);Prorderl(bt-left,visit); Prorderl(bt-right,visit);void Prorder2(BiTNode *bt,void(*visit)(TElemType)/*中 序遍历 */ BiTNode *p,*stackMAS;int top;top=0; p=bt;while(top!=0|p!=NULL)while(p!=NULL)stacktop=p; top+;p=p-left;if(top!=0)p=stacktop-l;top-;visit(p-data); p=p-r
5、ight;void Prorder3(BiTNode *bt,void(*visit)(TElemType)/*后序遍历 */ BiTNode *p,*stackMAS;int top;top=0;stacktop=bt; top+;while(top0)p=stacktop-1; top-;while(p!=NULL)visit(p-data);stacktop=p-right;top+;p=p-left;void visit(TElemType e)printf(form ,e);int SumLefts(BiTNode *bt,int sum)if (bt!=NULL)if (bt-le
6、ft=NULL & bt-right=NULL) printf(%4c,bt-data); sum+;sum=SumLefts(bt-left,sum); sum=SumLefts(bt-right,sum);return(sum);int SumTree(BiTNode *bt) static int sum=0;if(bt!=NULL) printf(%4c,bt-data);sum+; sum=SumTree(bt-left); sum=SumTree(bt-right); return(sum);BiTNode *Findchar(BiTNode *bt,char ch)/*二叉树查找
7、结点*/BiTNode *p;/*利用函数名返回结果*/if(bt!=NULL)if(bt-data=ch) p=bt;p=Findchar(bt-left,ch);p=Findchar(bt-right,ch);if(p!=NULL) return(p);else return(NULL);void main() int j,i,a,sum=0;BiTree bt; bt=InitBiTree(bt);#if CHARprintf(请先序输入二叉树(如:ab三个空格表示a为根结点,b为左子树的二叉树)n); #elseprintf(请先序输入二叉树(如:1 2 0 0 0表示1为根结点,2为
8、左子树的二叉树)n); #endifbt=CreateBiTree(bt);printf(输入建立的二叉树!n);PrintTree(bt,5);doprintf();printf(n 主菜单);printf(n 1二叉树先序遍历);printf(n 2二叉树中序遍历);printf(n 3 二叉树后序遍历); printf(n 4 二叉树叶子结点数); printf(n 5 二叉树结点数);printf(n 6 二叉树查找 x 结点); printf(n 0退出);printf(n);printf(n);printf(输入你要选择的数据:”); scanf(%d,&i);switch(i)case 1: printf(先序遍历结果为:); Prorder1(bt,visit); break;case 2: printf(后序遍历结果为:”); Prorder2(bt,visit); break;case 3: printf(中序遍历结果为:); Prorder3(bt,visit); break;case 4: j=SumLefts(bt,sum);printf(”树的叶子结点数为d:,j);break;case 5: j=SumTree(bt);printf(”树的结点数为%d:,j);break;case 6: printf(输入要查
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 8 Revision Lesson 28(教学设计)-2024-2025学年北京版英语四年级下册
- 2023四年级数学下册 一 四则混合运算第2课时教学设计 西师大版
- Unit 1 You and Me Section A 1a~1d How Do We Get to Know Each Other教学设计 2024-2025学年人教版(2024)七年级英语上册
- 8网络新世界 教学设计-2024-2025学年道德与法治四年级上册(统编版)
- 3 曲曲直直(教学设计)人教版(2012)美术三年级下册
- 2024秋四年级英语上册 Unit 5 Dinners ready Part B 第2课时教学设计 人教PEP
- 2023四年级数学下册 3 运算律第5课时 乘法分配律配套教学设计 新人教版
- 美术课课件制作
- 《0×5 =?》(教学设计)-2024-2025学年三年级上册数学北师大版
- Unit 6 rain or shine Section A Grammar英文版教学设计 2024-2025学年人教版(2024)七年级英语下册
- 英语-北京市朝阳区2025年高三年级第二学期质量检测一(朝阳一模)试题和答案
- 教师规范汉字书写培训
- 2024年新疆医科大学附属肿瘤医院招聘事业单位考试真题
- 2025年《宏观经济政策与发展规划》核心备考题库(含典型题、重点题)
- 【百强校】【黑吉辽卷】黑龙江省哈尔滨市第三中学2025年高三学年第一次模拟考试(哈三中一模)语文试卷
- 2025年河南医学高等专科学校单招职业适应性考试题库含答案
- 肿瘤化学疗法的护理
- 2025至2030年中国网球捡球篮数据监测研究报告
- 角膜塑形镜试戴片参数选择和配适评估巩朝雁课件
- 全国计算机等级考试一级试题及答案(5套)
- 公司安全事故隐患内部举报、报告奖励制度
评论
0/150
提交评论