树遍历和非递归
利用随机函数产生 80 个 ( 不大于 200 且各不相同的 ) 随机整数,用这些整数来生成一棵二树,分别对二叉树进行先序遍历,中序遍历和后序列遍历输出树中结点元素序列。注意:先序遍历输出要求采用非递归来实现。 ( 2 )程序实现的基本思想 1. 建立合适的二叉树 程序是以 图 1.1 的形式建立的。 2. 前序遍历是以 stack 栈和指针左右子女实现的。 3. 前序遍历,中序遍历,后序遍历分别用了递归实现。 4. 如建立二叉树,其中随机产生的数值是( 因为 80 个数比较多,所以就以 #define Max_size 10 ,若要以 80 个数,可 #define Max_size 10 改成 #define Max_size 80 ): 106 199 95 144 102 164 26 96 87 168 由以上数值可以建立出以下的树: 图 1.2 由图 1.2 可得出他们的前序,中序和后序。 前序序列: 106 95 26 87 102 96 199 144 164 168 中序序列: 26 87 95 96 102 106 144 164 168 199 后序序列: 87 26 96 102 95 168 164 144 199 106 ( 3 )系统流程图 程序步骤: #include "stdio.h" #include "conio.h" #define Max