#include<stdio.h> #include <stdlib.h> #include <string.h> #define N 100 //顺序存储结构 int Tree[N]; //链式存储结构 typedef struct Node{ int data; struct Node *l,*r; }Node ,*T; //线索二叉树 typedef struct Btree{ bool flagl,flagr;//左右节点标签 int data; struct Btree *l,*r; }Btree; //树的存储结构 双亲表示法 typedef struct { int data; int parent; }PTNode; typedef struct { PTNode nodes[N]; int r,n; }Ptree; //孩子链表 typedef struct CTNode{//孩子节点 int child; struct CTNode *next; }CTNode; typedef struct { int data; CTNode * firstchild; }CTBOX; typedef struct { CTBOX node[N]; int n,r;//节点数和根的位置 }; //森林二叉树的转换 /* * 第一棵树的根为根 * */