gpt4 book ai didi

c - 递归树遍历

转载 作者:太空宇宙 更新时间:2023-11-03 23:39:56 24 4
gpt4 key购买 nike

struct Node {
char*label;
struct Node *children;
};

我正在尝试遍历树并根据当前深度打印节点的值/标签(如上定义)。

输出:

Output

我的代码:

void recurse_helper(struct Node **root, int level, int max_level){
if (level > max_level){
return;
}
struct Node* r = *root;
if(r->children == NULL){
}

else{
struct Node *current = r->children;
}
void traverse_and_print(struct Node* root, max_dep){

recurse_helper(&root, 0,max_dep);

}

我的代码似乎不能正常工作。有没有人有更好的递归解决方案,或者有人可以建议如何更改我当前的实现?

最佳答案

这似乎可以解决问题。

void printTree(Node *root, int level) {
if (root == NULL)
return;

for (int i = 0; i < level; i++) {
printf(" ");
}

printf("%s\n", root->data);

for (Node *child = root->children; child != NULL; child = child->next_sib) {
printTree(child, level + 1);
}
}

它没有实现 max_level,我会把它留给你做广告。

关于c - 递归树遍历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48577848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com