实验三 二叉树基本操作的实现
实验目的
- 掌握二叉树的存储实现
- 掌握二叉树的遍历思想
- .掌握二叉树的基本操作的程序实现
实验内容
1.编写函数,输入字符序列,建立二叉树的二叉链表。
2.编写函数,实现二叉树的先序、中序、后序递归遍历操作。
3.编写函数,求二叉树的结点个数。
4.编写函数,求二叉树的叶子个数。
5.编写一个主函数,在主函数中设计一个简单的菜单,分别调用上述函数。
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#include <iostream>
using namespace std;
typedef struct BiTNode
{
//定义二叉树结构
char data;
struct BiTNode *lchild,*rchild;
}*BiTree,BiTNode;
int CreateBiTree(BiTree &T)
{
//先序创建二叉树
char ch;
cin>>ch;
if(ch=='#') T=NULL;
else{
T=new BiTNode;
T->data=ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}
void InOrderTraverse(BiTree T)
{
//中序遍历
if(T<