#include<stdio.h>
//#include<string.h>
//#include<math.h>
#include<stdlib.h>
//函数结果状态代码
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
#define NULL 0
#define MAXSIZE 100
#define MAX_TREE_SIZE 100
//Status是函数的类型,其值是函数结果状态代码
typedef int Status;
//声明结点的类型和指向结点的指针类型
//双亲表示法(找双亲容易,找孩子难)
typedef struct PTNode{
TElemType data;
int parent;//双亲位置域
}PTNode;
typedef struct{
PTNode nodes[MAX_TREE_SIZE];
int r,n;//根结点的位置和结点个数
}PTree;
//孩子链表(找孩子容易,找双亲难)
typedef struct CTNode{//孩子结点结构
int child;
struct CTNode *next;
}*ChildPtr;
typedef stuct{//双亲结点结构
TElemType data;
ChildPtr firstchild;//孩子链表头指针
}CTBox;
typedef stuct{//树结构
CTBox nodes[MAX_TREE_SIZE];
int n,r;//结点数和根结点的位置
}CTree;
//孩子兄弟表示法
typdef struct CSNode{
TElemType data;
struct CSNode *firstchild,*nextsibling;//第一个孩子结点和下一个兄弟结点
}CSNode,*CSTree;
int main(){
return 0;
}