若在某程序中所用二叉树需经常遍历或查找结点在遍历所得线性序列中的前驱和后继,则应采用线索链表作存储结构。 // 二叉树的二叉线索存储表示 typedef enum PointerTag {Link, Thread }; //Link == 0:指针,Thread == 1:线索 typedef struct BiThrNode { TElemType data; struct BiThread *lchild, *rchild; //左右孩子指针 PointerTag LTag, RTag; //左右标志 }BiThrNode, *BiThrTree; 具体的其他相关算法略。