以二叉链表存储结构存储二叉树,统计分支结点及叶子个数。
(1)从键盘输入扩展的先序结点数据,以二叉链表存储该二叉树。
(2)统计叶子结点个数。
(3)统计分支节点个数。
(4)要求程序通过一个主菜单进行控制,通过选择菜单项序号调用各功能函数。#include
#include
#include
#define ERROR 0
#define OK 1
#define FALSE -1
#define TRUE 1
#define maxSize 100
typedef struct node//二叉树数据结构
{
char data;
struct Node *LChild;
struct Node *RChild;
}BiNode,*BiTree;
int menu_select();//菜单驱动程序
void DeleteBitree(BiTree root);//先序遍历输出二叉树的结点
void CreateBiTree(BiTree * bt);//先序遍历创建二叉树
int leaf(BiTree root);//后续遍历统计叶子结点数目
void PreOrder(BiTree root);//先序遍历输出二叉树的结点
int menu_select()//菜单驱动程序
{
int sn;
printf("实验三运行系统\n");//显示菜单
printf("===============