参考书籍:c++ 数据结构
之前提到用递归的方法实现中序遍历二叉树,但是递归会浪费大量的空间与时间。这时候我们就在想用没有一种方式能够不依赖递归去实现遍历二叉树。我们之前学过一种数据结构可以实现这种方法,那就是链表。
话不多说,我们先上代码:
//非递归遍历二叉树
void InOrderTraverse(Stack &S,BinTree& B) {
InitStack(S);
BinTree p = B;
while (p
参考书籍:c++ 数据结构
之前提到用递归的方法实现中序遍历二叉树,但是递归会浪费大量的空间与时间。这时候我们就在想用没有一种方式能够不依赖递归去实现遍历二叉树。我们之前学过一种数据结构可以实现这种方法,那就是链表。
话不多说,我们先上代码:
//非递归遍历二叉树
void InOrderTraverse(Stack &S,BinTree& B) {
InitStack(S);
BinTree p = B;
while (p