二叉树的建立与遍历:掌握建立二叉树的方法,实现先序、中序、后序三种遍历算法。 
问题描述: 构造一棵不少于8个结点的二叉树,并分别输出其先序遍历、中序遍历和后序遍历的结果。 
问题分析:二叉树先序遍历可利用非递归算法实现,首先使用一个栈stack,将根结点入栈,开始循环:从栈中退出当前结点p;先访问它,然后将其它右结点入栈,再将其左结点入栈,如此直到栈空为止。后序遍历也可使用非递归算法,根据后序遍历的二叉树的递归定义,转换成非递归函数时采用一个栈保存返回的结点,先遍历根结点的所有左结点并入栈,出栈一个结点,然后遍历该结点的右结点并入栈,再遍历该右结点的所有左结点并入栈,当一个结点的左右子树均访问后再访问该结点,如此,直到栈空。二叉树的中序遍历在此是用递归算法实现的(以达到递归和非递归算法都能运用的目的),先遍历左子树,然后访问根结点,最后遍历右子树,如此循环,直至访问完所有的结点。 
实验步骤与源程序: 
1.二叉树的遍历步骤: 
1).定义二叉树的类型; 
2) .构造头节点、左孩子、右孩子; 
3).中序遍历; 
4).先序遍历; 
5).后序遍历