第一范文网 - 专业文章范例文档资料分享平台

实验三 二叉树操作的实现 代码及运行结果图

来源:用户分享 时间:2020-06-19 本文由清欢渡劫 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

二叉树操作的实现

#include #include #include typedef struct BiTNode {

int data;

BiTNode *lchild,*rchild; }BiTNode,*BiTree;

int Nil=0; // 设整型以0为空 void visit(int e) { printf(\ }

void CreateBiTree(BiTree &T) {

int number;

scanf(\ if(number==Nil) T=NULL;

else // 结点的值不为空

{ T=(BiTree)malloc(sizeof(BiTNode)); // 生成根结点 if(!T)

exit(-2);

T->data=number; // 将值赋给T所指结点 CreateBiTree(T->lchild); //C 递归构造左子树 CreateBiTree(T->rchild); // 递归构造右子树 } }

void DestroyBiTree(BiTree &T) {

if(T) // 非空树

{ DestroyBiTree(T->lchild); DestroyBiTree(T->rchild); free(T); } }

void PreOrderTraverse(BiTree T,void (*Visit)(int)){

if(T)

{ Visit(T->data);

PreOrderTraverse(T->lchild,Visit); // 再先序遍历左子树 PreOrderTraverse(T->rchild,Visit); // 最后先序遍历右子树 } }

void InOrderTraverse(BiTree T,void(*Visit)(int)) { if(T)

{ InOrderTraverse(T->lchild,Visit); // 先中序遍历左子树 Visit(T->data); // 再访问根结点

InOrderTraverse(T->rchild,Visit); // 最后中序遍历右子树 } }

void PostOrderTraverse(BiTree T,void(*Visit)(int)) {

if(T) // T不空

{ PostOrderTraverse(T->lchild,Visit); PostOrderTraverse(T->rchild,Visit); Visit(T->data); // 最后访问根结点 } }

int LeafNum( BiTree T){

if(!T)

return 0;

else

if(!T->lchild&&!T->rchild)

return 1;

else

// printf(\

return LeafNum(T->lchild)+LeafNum(T->rchild); }

void main() {

BiTree T; int num;

//InitBiTree(T); // 初始化二叉树T

printf(\按先序次序输入二叉树中结点的值,输入0表示节点为空\\n\ CreateBiTree(T); // 建立二叉树T printf(\先序递归遍历二叉树:\\n\

PreOrderTraverse(T ,visit); // 先序递归遍历二叉树T printf(\中序递归遍历二叉树:\\n\

InOrderTraverse(T,visit); // 中序递归遍历二叉树T printf(\后序递归遍历二叉树:\\n\

PostOrderTraverse(T,visit); // 后序递归遍历二叉树T printf(\叶子结点总数为:\\n\ num= LeafNum (T); printf(\ }

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新自然科学实验三 二叉树操作的实现 代码及运行结果图 全文阅读和word下载服务。

实验三 二叉树操作的实现 代码及运行结果图 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1086664.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top