【发布时间】:2015-05-19 16:20:40
【问题描述】:
如何将来自不同节点的数据添加到一起? Inserttotree() 只是创建一个新节点并输入指定的data 值。
所以基本上我只是想在countquantity() 函数中添加2 和3。
typedef struct tree_s tree_t;
typedef int data_t;
struct tree_s {
data_t data;
tree_t *left;
tree_t *right;
};
int main(int argc, char **argv){
tree_t *tree;
tree = NULL;
tree = insertToTree(tree, 3);
tree = insertToTree(tree, 2);
printf("Total: %d\n", countQuantity(tree));
return 0;
}
int countQuanity(tree_t *tree){
int i = 0;
if(tree == NULL){
return i;
}
i = tree->data + countQuantity(tree->left);
i = tree->data + countQuantity(tree->right);
return i;
}
【问题讨论】:
-
把子树和当前节点的两个结果相加就好了
i=tree->data + countQuantity(tree->left) + tree->data + countQuantity(tree->right) -
您知道您以某种方式覆盖了
i在countQuanity()中的值吗? -
@EugeneSh。将其发布为答案。
-
@WhozCraig 是的,谢谢。懒惰的复制/粘贴..