首页 > 代码库 > 非递归遍历二叉树之前序遍历
非递归遍历二叉树之前序遍历
前序遍历二叉树
int preorder_tree_walk(BinTreeNode * root){ if(root == NULL){ return -1; } stack<BinTreeNode *> s; BinTreeNode * p = root; while(!s.empty() || p != NULL) { while(p != NULL){ cout << p->key<< endl; s.push(p); p = p->lchild; } p = s.top(); s.pop(); p = p->rchild; } return 0;}
红色的部分表示访问元素的值,和中序遍历二叉树相比,他们的区别仅仅在于访问元素的位置不同
非递归遍历二叉树之前序遍历
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。