äºåæ æ¯éç¨éå½å®ä¹çï¼å®ç°èµ·æ¥ä»£ç ç®æ´ï¼ä¹è®¸å¹¶ä¸ç®åï¼ã并ä¸å®å¨å
·ä½ç计ç®æºç§å¦ä¸æå¾éè¦çè¿ç¨ï¼æ¯ä¸ç§å¾éè¦çæ°æ®ç»æï¼äºåæ æä¸ç§éåå建ç«çæ¹å¼ãä»å¤©å
å¦ä¹ ä¸ä¸å®ç建ç«åæå°ã
以ä¸ä»£ç å¨Win-Tc1.9.1ä¸ç¼è¯éè¿ã
include lt;stdio.h;
define ElemType char
//èç¹å£°æï¼æ°æ®åãå·¦å©åæéãå³å©åæé
typedef struct BiTNode{
char data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
//å
åºå»ºç«äºåæ
BiTree CreateBiTree(){
char ch;
BiTree T;
scanf(;%c;,ch);
if(ch==;;)T=NULL;
else{
T = (BiTree)malloc(sizeof(BiTNode));
T-;data = ch;
T-;lchild = CreateBiTree();
T-;rchild = CreateBiTree();
}
return T;//è¿åæ ¹èç¹
}
//å
åºéåäºåæ
void PreOrderTraverse(BiTree T){
if(T){
printf(;%c;,T-;data);
PreOrderTraverse(T-;lchild);
PreOrderTraverse(T-;rchild);
}
}
//ä¸åºéå
void InOrderTraverse(BiTree T){
if(T){
PreOrderTraverse(T-;lchild);
printf(;%c;,T-;data);
PreOrderTraverse(T-;rchild);
}
}
//ååºéå
void PostOrderTraverse(BiTree T){
if(T){
PreOrderTraverse(T-;lchild);
PreOrderTraverse(T-;rchild);
printf(;%c;,T-;data);
}
}
void main(){
BiTree T;
T = CreateBiTree();//建ç«
PreOrderTraverse(T);//è¾åº
getch();
}
温馨提示:内容为网友见解,仅供参考