C++二叉树遍历的过程中怎样计算结点个数

[复制链接]
查看11 | 回复3 | 2012-5-5 19:45:23 | 显示全部楼层 |阅读模式
很简单,先输入一颗树l表示数某一个节点的左子树编号,r表示某个节点的右子树编号。那么int num;int l,r;void maketree()//建树{int n;cin>>n;//表示有要输入几组for (int i=0;i>f>>le>>ri;//输入某个根节点编号和左右子数编号l[f]=le;r[f]=ri;}}//剩下的只要写一个算节点的函数void getsum(int f){if(f==0)return;//是由根节点往下递归的,直接返回num++;//算上这个点get(l[f]);//访问左子树根ge...
回复

使用道具 举报

千问 | 2012-5-5 19:45:23 | 显示全部楼层
int num(Binarynode& r){
int n = 0;
if(!r) return 0;
n += 1+num(r->lchild);
n += 1+num(r->rchild);
return n;}现编的 LZ凑活着看 不在编译器里写...
回复

使用道具 举报

千问 | 2012-5-5 19:45:23 | 显示全部楼层
设置一个全局变量,在遍历过程中让变量循环自加,在主函数中输出该变量...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行