我试图将这个递归函数转换为非递归函数.这是来自二叉搜索树的搜索函数.我知道这是很自然,使之递归的,但学习的目的,我想使其非递归.我怎么能这样做?提前致谢!
bool Search(BstNode* root, string data) {
if (root == NULL) return false;
else if (root->data == data) return true;
else if (data <= root->data) return Search(root->left, data);
else return Search(root->right, data);
}
Run Code Online (Sandbox Code Playgroud) 我的朋友向我展示了这一点,我不知道它是如何工作的以及它的名称.有人可以向我解释它是如何循环的吗?例如:
for(;;){
cout << "loop" << endl;
}
Run Code Online (Sandbox Code Playgroud)
它将永远保持循环字符串.这种循环可以用于任何事情.这是如何运作的?