2022年二叉树c语言的程序代码 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年二叉树c语言的程序代码 .pdf》由会员分享,可在线阅读,更多相关《2022年二叉树c语言的程序代码 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、# include stdio.h # include stdlib.h # include malloc.h typedef struct Node char data; / 定义根结点struct Node *lchild; / 定义左子树struct Node *rchild; / 定义右子树Node,*BiTree; int JianShu(BiTree &T) / 构造二叉链表表示的二叉树T, 按先序遍历输入二/ 叉树中结点的值(一个字符 ),空格字符表示空树. char e; T=(Node *)malloc(sizeof(Node); / 开辟一个以sizeof(Node)为单位
2、的空间if(!T) / 开辟失败exit (-2); fflush(stdin); / 清空缓存scanf (%c,&e); if(e= ) T=NULL; else T-data=e; / 生成根结点printf ( 请输入 %c 的左孩子 :,e); JianShu(T-lchild); / 构造左子树printf ( 请输入 %c 的右孩子 :,e); JianShu(T-rchild); / 构造右子树 return 1; int DLR_P(BiTree &T) / 先序遍历打印二叉树中所有数据if (T!=NULL) / 非空二叉树printf (%c ,T-data); / 访问
3、 T DLR_P(T-lchild); / 递归遍历左子树DLR_P(T-rchild); / 递归遍历右子树 return 1; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - int LDR_P(BiTree &T) / 中序遍历打印二叉树中所有数据if (T!=NULL) / 非空二叉树LDR_P(T-lchild); / 递归遍历左子树printf (%c ,T-data); / 访问 T LDR_P(T-rchild)
4、; / 递归遍历右子树 return 1; int LRD_P(BiTree &T) / 后序遍历打印二叉树中所有数据if (T!=NULL) / 非空二叉树LRD_P(T-lchild); / 递归遍历左子树LRD_P(T-rchild); / 递归遍历右子树printf (%c ,T-data); / 访问 T return 1; int DLR_0(BiTree &T,int &s_0) / 用先序遍历求二叉树T 中所有叶子总数if (T!=NULL) / 非空二叉树if(!T-lchild&!T-rchild) / 判断该结点是否为叶子s_0+; / 是叶子则计数并打印printf (
5、%c ,T-data); DLR_0(T-lchild,s_0); / 递归遍历左子树,直到叶子处DLR_0(T-rchild,s_0); / 递归遍历右子树,直到叶子处 return s_0; int DLR_1(BiTree &T,int &s_1) / 用先序遍历求二叉树T 中所有 1 度结点总数if (T!=NULL) / 非空二叉树if(T-lchild&!T-rchild) / 判断该结点是否为1 度结点s_1+; / 是 1 度结点则计数并打印printf (%c ,T-data); if(!T-lchild&T-rchild) / 判断该结点是否为1 度结点名师资料总结 - -
6、 -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - s_1+; / 是 1 度结点则计数并打印printf (%c ,T-data); DLR_1(T-lchild,s_1); / 递归遍历左子树,直到 1 度结点处DLR_1(T-rchild,s_1); / 递归遍历右子树,直到 1 度结点处 return s_1; int DLR_2(BiTree &T,int &s_2) / 用先序遍历求二叉树T 中所有 2 度结点总数if (T!=NULL)
7、/ 非空二叉树if(T-lchild&T-rchild) / 判断该结点是否为2 度结点s_2+; / 是 2 度结点则计数并打印printf (%c ,T-data); DLR_2(T-lchild,s_2); / 递归遍历左子树,直到 2 度结点处DLR_2(T-rchild,s_2); / 递归遍历右子树,直到 2 度结点处 return s_2; int ShenDu(BiTree &T,int l,int &h) / 用递归求二叉树的深度if (T!=NULL) / 非空二叉树l=l+1; if (lh) h=l; ShenDu(T-lchild,l,h); / 递归遍历左子树She
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年二叉树c语言的程序代码 2022 二叉 语言 程序代码
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内