Status InitTree(CSTree *T)/*构造空树*/
void DestroyTree(CSTree *T) /*销毁树*/
void ClearTree(CSTree *T)/*将树清为空树*/
Status TreeEmpty(CSTree T)/*检测树是否为空树*/
Status TreeDepth(CSTree T,int k)/*返回树的深度*/
CSTree Root(CSTree T)/*返回指向树的根的指针*/
TElemType Value(CSTree p)/*返回 P 指针指向的结点的值*/
Status Assign(CSTree P,TElemType e)/*将 P 指针所指结点的值修改成变量 e 的值*/
CSTree Parent(CSTree P)/*返回指向 P 指针指向的结点的双亲的指针*/
CSTree LeftChild(CSTree P)/*返回指向 P 指针指向的结点的最左孩子的指针*/
CSTree RightSibling(CSTree P)/*返回指向 P 指针指向的结点的右兄弟的指针*/
Status DeleteChild(CSTree P,int i)/*删除 P 指针所指结点的第 i 棵子树*/
Status InsertChild(CSTree P,int i,CSTree C)/*插入 C 为 P 所指结点的第 i 棵子树*/
Status CheckData(char a[])/*检查输入的数据是否符合格式*/
TElemType* CreatTree(CSTree *T,CSTree P,TElemType a[])/*利用输入的数据建树*/
Status Creat(CSTree *T)/*输入数据,检查数据的合法性,并调用建树函数建树*/
void Visit(CSTree P)/*对树的某一结点进行访问*/
Status PreTraverse(CSTree T,void Visit(CSTree T))/*先序遍历*/
Status PostTraverse(CSTree T,void Visit(CSTree T))/*后序遍历*/
CSTree Found(CSTree T,TElemType k)/*返回先序遍历顺序下的第一个值为 k 的结点*/
Status CountNodes(CSTree T,int k)/*计算树的总结点数*/
CSTree Search(CSTree T,int i)/*查找在先序遍历顺序中排第 i 的结点*/
Status NodeDegree(CSTree P)/*计算结点 P 的度*/
Status Leaf(CSTree T,int k)/*计算树的叶子数目*/
void Clean()/*清屏函数*/
void Insert(CSTree *K,CSTree *T)/*插入子树界面*/
void Delete(CSTree *T)/*删除子树界面*/
void Assign1(CSTree T)/*修改结点数值界面*/
void Handle(CSTree *K,CSTree *T)/*修改树的总界面*/
void VisitTree(CSTree T)/*历遍树的总界面*/
Status Count1(CSTree T,int i)/*计数界面二*/
Status Count(CSTree T)/*计数界面一*/
Status FoundNode1(CSTree T,int k)/*寻结点界面二*/
Status FoundNode(CSTree T)/*寻结点界面一*/
void Welcome()/*欢迎界面*/
void main()/*主函数*/