// 二叉树表示法 typedef struct BiTNode { int data; struct BiTNode *lchild, *rchild; }BiTNode, *BiTree; // 三叉链表表示法 typedef struct TriTNode { int data; // 左右孩子指针 TriTNode *lchild, *rchild; // 父指针 TriTNode *parent; }TriTNode, *TriTree; // 双亲链表表示法 typedef struct BPTNode { int data; int parentPosition; // 指向双亲的指针,数组下标 char LRTag; // 左右孩子指标域 }BPTNode; typedef struct BPTree { BPTNode nodes[100]; // 由于结点之间是分散的,须要把结点存储到数组中 int numOfNode; // 结点数目 int root; // 根节点位置,注意此域存储的是父亲节点在数组的下标 };