非递归前序遍历

        //非递归前序遍历
	//设置一个函数,该函数的作用是深入左子树同时遍历,用栈保存右子树
	void preOreder_Ii(TreeNode *bt, stack S) {
		while (bt)
		{
			Visit(bt);
			if(bt->rc)
			S.push(bt->rc);
			bt = bt->lc;
		}
	}
	void preOreder_I(TreeNode *bt) {
		stack S;
		while (true) {
			preOreder_Ii(bt, S); 
			if (S.isEmpty())
				break;
			bt = S.pop();
		}
	}

  

posted @ 2020-05-26 21:22  Royzzzzz  阅读(196)  评论(0编辑  收藏  举报