首页 > 解决方案 > 用于计算二叉树中节点数的 GDB 脚本

问题描述

我有一个核心转储,其中我有一个树的根指针,我想计算该树当前具有的节点数。

下面的 C 代码返回节点数,相同的 GDB 脚本是什么?任何人都可以帮助我使用 GDB 脚本吗?

int count(struct node *root){
    if(root == NULL) {
        return 0;
    }
    else {
        return 1 + count(root->left) + count(root->right);
    }
}

标签: cgdbbinary-search-tree

解决方案


我没有对此进行测试,但是您应该能够将您的代码完全翻译成 GDB 脚本:

(gdb) define lcount
if $arg0 == 0
 return 0
end
return 1 + lcount($arg0->left) + lcount($arg0->right)
end

(gdb) lcount(root)

文档在这里


推荐阅读