编写非递归算法,求二叉树中叶子结点的个数
1个回答
2013-10-25
展开全部
typedef struct _btree {
int v;
struct _btree* l;
struct _btree* r;
} *node;
// . . . .
int count_nodes(node root)
{
node a[100];
node* p = a;
node t;
int n = 0;
*p++ = root;
while(p != a) {
t = *--p;
++n;
if(t->l) *p++ = t->l;
if(t->r) *p++ = t->r;
}
return n;
}
int v;
struct _btree* l;
struct _btree* r;
} *node;
// . . . .
int count_nodes(node root)
{
node a[100];
node* p = a;
node t;
int n = 0;
*p++ = root;
while(p != a) {
t = *--p;
++n;
if(t->l) *p++ = t->l;
if(t->r) *p++ = t->r;
}
return n;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询