二叉链表的链式数据结构为:
typedef struct BTreeNode
{
DataType data;
struct BTreeNode * lchild;
struct BTreeNode * rchild;
}*BTree,BTreeNode;
在对二叉树进行非递归遍历的时候需要用到栈来保存结点或者删除结点操作,以便可以进行顺序打印。这里没有用到栈,而是用了和栈存储结构类似的数组来模拟。
下面以下面的一颗二叉树为例,对其进行基本的操作:
1,先序序列:-+a*b-cd/ef
2,中序序列:a+b*c-d-e/f
3,后序序列:abcd-*+ef/-
#include <stdio.h>
#include <stdlib.h>
#include <str