代码参照了严蔚敏、吴伟民编写的数据结构(C语言版)。
所有代码采用C语言编写。
头文件及宏定义
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#define OK 1
#define Fail 0
#define False 0
#define True 1
#define Error 0;
#define MAX_TREE_SIZE 100
typedef定义数据类型和结构体
typedef char TElemType;//二叉树结点的值是字符,且表中也存储字符
typedef int Status;
typedef TElemType SqBiTree[MAX_TREE_SIZE];
InitBiTree
Status InitBiTree(SqBiTree T){
//功能和ClearBiTree相同,目的是为了清除所用内存的杂乱数据
int i=0;
for(i;i<MAX_TREE_SIZE;i++){
T[i]=0;
}
return OK;
}
CreateBiTree
Status CreateBiTree(SqBiTree T){
//依次输入数据来创建节点节点
printf("请输入字符串,字符串中空格表示空节点。\n");
char str[100];
gets(str);
int length=0;
length=strlen(str);
int i=0;
strcpy(T,str);
return OK;
}
BiTreeEmpty
Status BiTreeEmpty(SqBiTree T){
//判断二叉树是否存在,这里只需判断根
if(T[0]==0)
return True;