文档介绍:#include<iostream>usingnamespacestd;typedefstructBiTNode{chardata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;intCreateBiTree(BiTree&T);voidPreOrderTraverse(BiTreeT);voidInOrderTraverse(BiTreeT);voidPostOrderTraverse(BiTreeT);intBiTreeDepth(BiTreeT);voidmain(){ intdepth; BiTreeT; cout<<"按ã¡ä先¨¨序¨°次ä?序¨°输º?入¨?字Á?符¤?构1造¨¬二t叉?树º¡Â,ê?输º?入¨?$表À¨ª示º?该?位?置?为a空?二t叉?树º¡Â:êo\n"; CreateBiTree(T); cout<<"输º?出?该?二t叉?树º¡Â的Ì?先¨¨序¨°序¨°列¢D:êo\n"; PreOrderTraverse(T); cout<<endl; cout<<"输º?出?该?二t叉?树º¡Â的Ì?中D序¨°序¨°列¢D:êo\n"; InOrderTraverse(T); cout<<endl; cout<<"输º?出?该?二t叉?树º¡Â的Ì?后¨®序¨°序¨°列¢D:êo\n"; PostOrderTraverse(T); cout<<endl; cout<<"输º?出?该?二t叉?树º¡Â的Ì?高?度¨¨,ê?根¨´结¨¢点Ì?为a第̨²1层?,ê?空?树º¡Â为a0层?:êo\n"; depth=BiTreeDepth(T); cout<<"树º¡Â的Ì?深¦?度¨¨为a:êo"<<depth<<endl; }intCreateBiTree(BiTree&T){ charch; cin>>ch; if(ch=='$')T=NULL; else { if(!(T=(BiTNode*)malloc(sizeof(BiTNode)))) return0; T->data=ch; CreateBiTree(T->lchild); CreateBiTree(T->rchild); return1;}//CreateBiTreevoidPreOrderTraverse(BiTreeT){if(T){ cout<<T->data<<""; PreOrderTraverse(T->lchild); PreOr