資源描述:
《c語(yǔ)言構(gòu)造樹及樹的三種遍歷.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、#include#include#include#include#defineerror0#defineok1typedefstructBiTNode{chardata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;intCreateBiTree(BiTree&T){charch;scanf("%c",&ch);if(ch=='#')T=NULL;else{if(!(T=(BiTNode*)malloc(sizeof(BiTNode))))exit(error);
2、T->data=ch;CreateBiTree(T->lchild);CreateBiTree(T->rchild);}returnok;}voidPreOrderBiTree(BiTreeT){if(T){printf("%c",T->data);PreOrderBiTree(T->lchild);PreOrderBiTree(T->rchild);}}voidInOrderBiTree(BiTreeT){if(T){InOrderBiTree(T->lchild);//中序遍歷左子樹printf("%c",T->data);//訪問結(jié)點(diǎn)InOrderBiTree(T->rchild
3、);//中序遍歷右子樹}}voidPostOrderBiTree(BiTreeT){if(T){PostOrderBiTree(T->lchild);PostOrderBiTree(T->rchild);printf("%c",T->data);}}main(){inti;BiTreeT;printf("t請(qǐng)輸入樹的各元素:t");CreateBiTree(T);do{printf("/*****************************/");printf("t1鍵:先序輸出;t2鍵:中序輸出;t3鍵:后序輸出!t0鍵:退出程序!");pri
4、ntf("t請(qǐng)輸入你的選擇:t");scanf("%d",&i);switch(i){case1:printf("t你選擇的是先序輸出??!");printf("t輸出結(jié)果為:");printf("t");PreOrderBiTree(T);break;case2:printf("t你選擇的是中序輸出!!");printf("t輸出結(jié)果為:");printf("t");InOrderBiTree(T);break;case3:printf("t你選擇的是后序輸出!!");printf("t輸出結(jié)果為:");print
5、f("t");PostOrderBiTree(T);break;}printf("");}while(i!=0);}