输入二叉树的广义表形式,将其转变为二叉树形式,至于怎样输入广义表需要程序规定。
定义包含头文件文件t11.h中
#include"stdio.h"
#include"string.h"
#include"ctype.h"
#include"malloc.h"
#include"stdlib.h" //atoi(),exit();
#include"io.h" //eof()
#include"math.h"
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
typedef int Status;
typedef int Boolean;
定义数据结构头文件gercs.h中
#define INIT_STACK 100
#define INIT_STACK_ADD 20
typedef struct node // 二叉树的数据结构定义
{
char data;
struct node *lchild;
struct node *rchild;
}*Bitree,pBitree;
typedef struct
{
char *bottom;
char *top;
int stacksize;
}Sqstack;
struct Binode
{
Bitree lp;
};
struct Sqstack1
{
Binode *bottom;
Binode *top;
int stacksize;
};
typedef struct
{
Binode *front;
Binode *rear;
int queuesize;
}*linkqueue,queue;
Sqstack W;
定义包含实现函数功能模块gercs.cpp中
void inittree(Bitree &T)
{
T=NULL;
}
void initqueue(queue &Q)
{
Q.front=(Binode*)malloc(INIT_STACK*sizeof(Binode));
Q.rear=Q.front;
Q.queuesize=INIT_STACK;
}
void initstack(Sqstack &L)
{
L.bottom=(char*)malloc(INIT