#include <stdio.h>
#include <conio.h>
#define MAX_NODE 100 //允许最多的结点数
#define MAX_END 20 //允许最多的终结符数
#define MAX_DEGR 8 //每个结点允许的最大出度
#define MAX_TAB 200 //状态转化矩阵最多行数
#define BEGIN_STATE -2 //初始状态结点 int 型
#define END_STATE -1 //终结状态结点 int 型
#define EMPTY '#' //空代价 char 型
#define AREA(n,from,to) (((n) >= (from)) && ((n) <= (to))) //判断
n 是否在区间[from,to]
//集合结构体
typedef struct muster
{ int member[MAX_NODE]; //集合的元素,最多为结点个数
int num; //集合的元素个数
}muster;
//函数声明
void musInit(muster* a); //初始化 a 集合
void init(void); //初始化函数,将集合等清零
void getData(void); //获得用户输入数据
void getDataExpert(void); // 获 得 用 户 输 入 数 据 void
taxis(muster* a); //排序函数,把集合里的元素按小到大排序
bool isEqual(muster* a, muster* b); //判断集合 a 与 b 是否相等
void eCLOSURE(muster*a, muster* b); //求 a 的空字闭包,结果保存到 b
void empty(int a, muster* b); //递归求结点 a 出发花费空字到达
的结点集合
评论0