非递归中序遍历

Posted royzzzzz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了非递归中序遍历相关的知识,希望对你有一定的参考价值。

//非递归中序遍历
	//设置一个函数,该函数的作用是深入到最左侧子树但是不遍历
	void inOrder_Ii(TreeNode *bt,stack S) {
		while (bt)
		{
			S.push(bt);
			if(bt->lc)
			bt = bt->lc;
		}
	}
	void inOrder_I(TreeNode *bt, stack S) {
		while (true)
		{
			inOrder_Ii(bt, S);
			if (S.isEmpty())
				break;
			bt = S.pop();
			Visit(bt);
			bt = bt->rc;
		}
	}

  

以上是关于非递归中序遍历的主要内容,如果未能解决你的问题,请参考以下文章

二叉树中序遍历非递归写法

详解二叉树的遍历问题(前序后序中序层序遍历的递归算法及非递归算法及其详细图示)

用递归算法先序中序后序遍历二叉树

非递归实现中序,先序,后序遍历二叉树部分代码

非递归实现中序,先序,后序遍历二叉树部分代码

二叉树中序遍历 递归 非递归