如何解决为什么称为“ showTree”的此功能正常工作?
这是我不了解的功能:
void showTree (node * tree,int cont) {
if (tree == NULL) {
return;
}
else {
showTree (tree-> right,cont + 1);
for (int i = 0; i <cont; i ++) {
cout << " ";
}
cout << tree-> data << endl;
showTree (tree-> left,cont + 1);
}
}
我不明白:
-
如果始终以递归方式调用该函数,该如何进入for循环?
-
如果始终以递归方式调用该函数,如何显示树项?
如果有人可以向我解释此功能的工作原理,我将不胜感激。
解决方法
如果始终以递归方式调用该函数,该如何进入for循环?
如果tree == NULL
,该函数将立即返回,因此它可能会继续进入for
循环。
如果始终以递归方式调用该函数,树状项目将如何显示?
输出由for
循环和下一条语句产生,因此推理相同。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。