main6-3.c

来自「《数据结构算法实现及解析》—配合严蔚敏_吴伟民编著的数据结构(C语言版)(作者 」· C语言 代码 · 共 57 行

C
57
字号
 /* main6-3.c 检验bo6-3.c的主程序 */
 #define CHAR 1 /* 字符型 */
 /* #define CHAR 0 /* 整型(二者选一) */
 #if CHAR
   typedef char TElemType;
   TElemType Nil=' '; /* 字符型以空格符为空 */
   #define form "%c" /* 输入输出的格式为%c */
 #else
   typedef int TElemType;
   TElemType Nil=0; /* 整型以0为空 */
   #define form "%d" /* 输入输出的格式为%d */
 #endif
 #include"c1.h"
 #include"c6-3.h"
 #include"bo6-3.c"

 void vi(TElemType c)
 {
   printf(form" ",c);
 }

 void main()
 {
   BiThrTree H,T;
 #if CHAR
   printf("请按先序输入二叉树(如:ab三个空格表示a为根结点,b为左子树的二叉树)\n");
 #else
   printf("请按先序输入二叉树(如:1 2 0 0 0表示1为根结点,2为左子树的二叉树)\n");
 #endif
   CreateBiThrTree(&T); /* 按先序产生二叉树 */
   InOrderThreading(&H,T); /* 在中序遍历的过程中,中序线索化二叉树 */
   printf("中序遍历(输出)线索二叉树:\n");
   InOrderTraverse_Thr(H,vi); /* 中序遍历(输出)线索二叉树 */
   printf("\n");
   DestroyBiThrTree(&H); /* 销毁线索二叉树 */
 #if CHAR
   printf("请按先序输入二叉树(如:ab三个空格表示a为根结点,b为左子树的二叉树)\n");
 #else
   printf("请按先序输入二叉树(如:1 2 0 0 0表示1为根结点,2为左子树的二叉树)\n");
 #endif
   scanf("%*c"); /* 吃掉回车符 */
   CreateBiThrTree(&T); /* 按先序产生二叉树T */
   PreOrderThreading(&H,T); /* 在先序遍历的过程中,先序线索化二叉树 */
   printf("先序遍历(输出)线索二叉树:\n");
   PreOrderTraverse_Thr(H,vi);
   DestroyBiThrTree(&H); /* 销毁线索二叉树 */
 #if CHAR
   printf("\n请按先序输入二叉树(如:ab三个空格表示a为根结点,b为左子树的二叉树)\n");
 #else
   printf("\n请按先序输入二叉树(如:1 2 0 0 0表示1为根结点,2为左子树的二叉树)\n");
 #endif
   scanf("%*c"); /* 吃掉回车符 */
   CreateBiThrTree(&T); /* 按先序产生二叉树T */
   PostOrderThreading(&H,T); /* 在后序遍历的过程中,后序线索化二叉树 */
   DestroyBiThrTree(&H); /* 销毁线索二叉树 */
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?