【发布时间】:2015-11-19 23:39:25
【问题描述】:
我正在努力实现一个基本的二叉搜索树。
我已经定义了一个递归函数来按顺序打印树
void printTree(Node *n){
if (n){
printTree (n -> left);
n -> printNode();
printTree (n -> right);
}
}
当调用这个函数时,我通常几乎总是用 Node *n 的初始值作为指向根节点的指针来调用它。
这样重载函数可以吗?
void printTree() {printTree(root);};
这是处理递归函数的公认方式,其中第一次调用的参数总是相同/使用相同的指针/变量等。
是否有另一种处理这种情况的方法,例如,我将为二叉搜索树实现的几乎所有递归函数都属于相同的情况。即第一次调用的参数始终是根节点。
【问题讨论】:
-
你的程序中是否总是有一个树?
-
@Koborl 请不要忘记接受你最喜欢的答案