欢迎访问金谷下载网 专业电脑手机游戏绿色软件网站

游戏资讯|软件分类|下载排行|最近更新

当前位置:首页软件教程软件信息资讯 → 二叉树的遍历算法描述(二叉树的遍历算法代码)

二叉树的遍历算法描述(二叉树的遍历算法代码)

时间:2022-10-24 14:33:12人气:作者:网友整理我要评论

关于二叉树非递归遍历算法c语言,二叉树的遍历算法c语言这个很多人还不知道,今天菲菲来为大家解答以上的问题,今天就和小编仲儿一起来看看这个问题吧。

1、#include#include typedef struct node{ int data; struct node *lchild,*rchild; }*treetp,tree; treetp create (treetp t,int c); void print1(treetp); void print2(treetp); void print3(treetp); int number=0; void main() { treetp t=0,r; r=create (t,0); printf("前序排列 :"); print1 (r); printf("中序排列 :"); print2 (r); printf("后序排列 :"); print3 (r); } treetp create(treetp t,int c) { treetp p,di; do{ scanf("%d",&c); if (t==0) { t=(treetp)malloc(sizeof(tree)); t->lchild=t->rchild=0; t->data=c; } else { p=t; while(p!=0) { di=p; if(c<(p->data)) p=p->lchild; else p=p->rchild; } if(c<(di->data)) { treetp NEWdi=(treetp) malloc(sizeof(tree)); NEWdi->lchild=NEWdi->rchild=0; NEWdi->data=c; di->lchild=NEWdi; } else { treetp NEWdi=(treetp) malloc(sizeof(tree)); NEWdi->lchild=NEWdi->rchild=0; NEWdi->data=c; di->rchild=NEWdi; } } ++number; }while(c!=0); printf("叶子的数量:%d",number); return t; } void print1(treetp t) { if (t!=0) { printf("%d",t->data); print1(t->lchild); print1(t->rchild); } } void print2(treetp t) { if (t!=0) { print2(t->lchild); printf("%d",t->data); print2(t->rchild); } } void print3(treetp t) { if (t!=0) { print3(t->lchild); print3(t->rchild); printf("%d",t->data); } }。

本文到此分享完毕,希望对大家有所帮助。

相关文章

猜你喜欢

网友评论

关于金谷下载网 | 联系方式 | 发展历程 | 版权声明 | 下载帮助(?) | 广告联系 | 网站地图 | 友情链接

Copyright 2020-2029 JGSC.CC 【金谷下载网】 版权所有 豫ICP备17041013号-5 | 豫公网安备 42011102000245号

声明: 本站所有软件和文章来自互联网 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告