c函数擦除所有二叉树元素

时间:2018-05-30 13:12:34

标签: c binary-tree

一个C-lang函数,它擦除了树的所有元素,当我调用它时它不会被粉碎,但是当我试图显示树或调用任何给它的函数时,结果是( _root)作为参数,它会粉碎

void free_tree(tree *_root) {//testing, not working
    tree p= *_root;
    if (p) {
        if (p->left) free_tree(&p->left);
        if (p->right) free_tree(&p->right);
        free(p);
    }
}

我验证了函数之外可能导致错误的任何其他东西,但似乎一切都很好,谢谢任何人都可以回答

1 个答案:

答案 0 :(得分:1)

您没有将$nav-color: #333; $turquoise: #48d1cc; // Input placeholder %input { width: 100%; border: 1px solid $nav-color; border-radius: 4px; margin: 4px 0; padding: 5px; box-sizing: border-box; transition: color .3s; &:focus { border-color: $turquoise; box-shadow: 0 0 4px 0 $turquoise; } } input[type=text], input[type=date], input[type=password] { @extend %input; } .inputWithIcon { position: relative; input { padding-left: 40px; &:focus + i { color: $turquoise; } } i { position: absolute; left: 0; padding: 10px 7px; color: $nav-color; transition: color .3s; } } 设置为NULL。由于函数以递归方式调用自身,因此只有第一个实际参数是根节点,因此我只需将参数命名为 t 。此外,不需要左/右空检查。试试这个:

*_root