1.编写函数,输入字符序列,建立二叉树的二叉链表
2.编写函数,实现二叉树的中序递归遍历算法。
3.编写函数,实现二叉树的中序非递归遍历算法
4.编写函数,借助队列实现二叉树的层次遍历算法
5.编写函数,求二叉树的高度
6.编写函数,求二叉树的结点个数
7.编写函数,求二叉树的叶子个数
8.编写函数,交换二叉树每个结点的左子树和右子树
9.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#define ERROR 0
#define MAXSIZE 100
int k = 0;
typedef char ElemType;
typedef struct BiTNode
{
ElemType data;
struct BiTNode *lchild, *rchild;
}BiTNode, *BiTree;
BiTree CreateBiTree(BiTree &T) {
char ch;
scanf("%c", &ch);
if (ch == ' ') T = NULL;
else {
if (!(T = (BiTNode *)malloc(sizeof(BiTNode)))) return ERROR;
T->data = ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
return T;
} // CreateBiTree
void INORDER(BiTree tree)
{
if (tree)
{
INORDER(tree->lchild);
printf("%c ", tree->data);
INORDER(tree->rchild);
}
}
void inorder1(Bi