二叉树的建立及遍历(共5页).doc
《二叉树的建立及遍历(共5页).doc》由会员分享,可在线阅读,更多相关《二叉树的建立及遍历(共5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上一、 实验内容要求采用二叉链表作为存储结构,完成二叉树的建立,前序、中序和后序遍历的操作,求所有叶子及结点总数的操作等。具体实现要求:分别利用前序遍历、中序遍历、后序遍历所建二叉树。二、实验环境操作系统和C语言系统三、 源程序及注释:#include stdio.h #include stdlib.h typedef struct tree char data; struct tree *lchild; struct tree *rchild; *Ptree; Ptree createTree() /树的建立 char ch; Ptree t; ch=getchar(
2、); /输入二叉树数据 if(ch= ) /判断二叉树是否为空 t=NULL; else t=(Ptree)malloc(sizeof(Ptree); /二叉树的生成 t-data=ch; t-lchild=createTree(); t-rchild=createTree(); return t; void preOrder(Ptree t) /先序遍历 if(t) printf(%c,t-data); preOrder(t-lchild); preOrder(t-rchild); void intOrder(Ptree t) /中序遍历 if(t) intOrder(t-lchild);
3、printf(%c,t-data); intOrder(t-rchild); void postOrder(Ptree t) /后序遍历 if(t) postOrder(t-lchild); postOrder(t-rchild); printf(%c,t-data); int getleaf(Ptree t) /求叶子数 int a,b; if(t=NULL) /判断是否为空 return 0; else if(t-lchild=NULL&t-rchild=NULL) /只有一个根节点 return 1; else a=getleaf(t-lchild); b=getleaf(t-rchil
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二叉 建立 遍历
限制150内