搜索一棵树(逆序),请看看我的程序哪有问题

yass8899 2013-01-23 05:16:01
写了一个搜索树的函数,逆序,找出符合条件的存入一个指针数组中。
一下是该函数代码:

void search_for_node(node *root, node *list[])
{
int j;
if (root == NULL)
return;


for(j=0; j<root->num_children; j++)
search_for_node(root->children[j], list);
if (root->type == ID)
list[num_for++] = root;



}

但该函数不能达到预期,找到节点并存入数组中。
请各位帮忙看看,谢谢!
...全文
109 4 点赞 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yass8899 2013-01-24
这个函数可以用,调用此函数的函数出错了,谢谢各位的关注!
  • 打赏
  • 举报
回复
looooooooop 2013-01-23
调试下就知道问题了, 别人仅从你这点代码片段给出的分析可能不全面 如果是别人问你这个问题, 你觉得还需要哪些信息?
  • 打赏
  • 举报
回复
yass8899 2013-01-23
引用 1 楼 abc41106 的回复:
是怎么没达到预期的啊? 你希望是什么样?结果是什么样?
我想将满足条件的节点指针存储在一个指针数组中,之后再对这些节点进行操作。 上面这个函数,个人觉得逻辑(递归)是对的,但是运行时并不能找到满足条件的节点。 请高手帮忙分析下,谢谢!
  • 打赏
  • 举报
回复
abc41106 2013-01-23
是怎么没达到预期的啊? 你希望是什么样?结果是什么样?
  • 打赏
  • 举报
回复
相关推荐
发帖
C语言
加入

6.5w+

社区成员

C语言相关问题讨论
申请成为版主
帖子事件
创建了帖子
2013-01-23 05:16
社区公告
暂无公告