您的位置:首页 > 其它

请用递归和非递归俩种方法实现二叉树的前序遍历。

2017-01-14 13:16 441 查看
//递归前序遍历
void pre_visit(TNode* root) {
if (!root)
return;

cout << root->data << ' ';
pre_visit(root->left);
pre_visit(root->right);
}

//非递归前序遍历
void pre_visit1(TNode* root) {
if (!root) {
cout << "空树" << endl;
return;
}

stack<TNode*> stk;

while (root || !stk.empty()) {
while (root) {
cout << root->data << ' ';
stk.push(root);
root = root->left;
}
root = stk.top();
stk.pop();
root = root->right;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐