本篇內(nèi)容介紹了“c語言版靜態(tài)鏈?zhǔn)蕉鏄湓趺磳?shí)現(xiàn)”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)主營大同網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都APP應(yīng)用開發(fā),大同h5成都微信小程序搭建,大同網(wǎng)站營銷推廣歡迎大同等地區(qū)企業(yè)咨詢
#include
#include
typedef struct Node{
char data;
struct Node * pLchild;
struct Node * pRchild;
}NODE,* PNODE;
PNODE create_binTree(void);
void pre_traver(PNODE);
void in_traver(PNODE);
void post_traver(PNODE);
void main(void){
PNODE pNode = create_binTree();
//先序遍歷
//pre_traver(pNode);
//中序遍歷
//in_traver(pNode);
//后序遍歷
post_traver(pNode);
}
PNODE create_binTree(void){
PNODE pA = (PNODE)malloc(sizeof(NODE));
PNODE pB = (PNODE)malloc(sizeof(NODE));
PNODE pC = (PNODE)malloc(sizeof(NODE));
PNODE pD = (PNODE)malloc(sizeof(NODE));
PNODE pE = (PNODE)malloc(sizeof(NODE));
pA->data = 'A';
pA->pLchild = pB;
pA->pRchild = pC;
pB->data = 'B';
pB->pLchild = NULL;
pB->pRchild = NULL;
pC->data = 'C';
pC->pLchild = pD;
pC->pRchild = NULL;
pD->data = 'D';
pD->pLchild = NULL;
pD->pRchild = pE;
pE->data = 'E';
pE->pLchild = NULL;
pE->pRchild = NULL;
return pA;
}
//先序遍歷
void pre_traver(PNODE pNode){
/*
思路:1、先訪問根節(jié)點(diǎn)
2、再先序遍歷左子樹
3、再先序遍歷右子樹
*/
if(NULL != pNode){
printf("%c\n",pNode->data);
if(NULL != pNode->pLchild){
pre_traver(pNode->pLchild);
}
if(NULL != pNode->pRchild){
pre_traver(pNode->pRchild);
}
}
}
//中序遍歷
void in_traver(PNODE pNode){
if(NULL != pNode){
if(NULL != pNode->pLchild){
in_traver(pNode->pLchild);
}
printf("%c\n",pNode->data);
if(NULL != pNode->pRchild){
in_traver(pNode->pRchild);
}
}
}
//后序遍歷
void post_traver(PNODE pNode){
if(NULL != pNode){
if(NULL != pNode->pLchild){
post_traver(pNode->pLchild);
}
if(NULL != pNode->pRchild){
post_traver(pNode->pRchild);
}
printf("%c\n",pNode->data);
}
}
“c語言版靜態(tài)鏈?zhǔn)蕉鏄湓趺磳?shí)現(xiàn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!