#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
struct BTNode
{
char data;
struct BTNode *pLchild;
struct BTNode *pRchild;
};
static struct BTNode *CreateBTree(void);
static void PostTraverseBTree(struct BTNode *);
static void DisPlayElem(struct BTNode *);
int main(int argc, char *argv[])
{
struct BTNode *pT = CreateBTree();
PostTraverseBTree(pT);
printf("\r\n");
return 1;
}
static struct BTNode *CreateBTree(void)
{
struct BTNode *pA = (struct BTNode *)malloc(sizeof(struct BTNode));
struct BTNode *pB = (struct BTNode *)malloc(sizeof(struct BTNode));
struct BTNode *pC = (struct BTNode *)malloc(sizeof(struct BTNode));
struct BTNode *pD = (struct BTNode *)malloc(sizeof(struct BTNode));
struct BTNode *pE = (struct BTNode *)malloc(sizeof(struct BTNode));
pA->data = 'A';
pB->data = 'B';
pC->data = 'C';
pD->data = 'D';
pE->data = 'E';
pA->pLchild = pB;
pA->pRchild = pC;
pB->pLchild = pB->pRchild = NULL;
pC->pLchild = pD;
pC->pRchild = NULL;
pD->pLchild = NULL;
pD->pRchild = pE;
pE->pLchild = pE->pRchild = NULL;
return pA;
}
static void DisPlayElem(struct BTNode *pT)
{
printf("%c ", pT->data);
return;
}
static void PostTraverseBTree(struct BTNode *pT)
{
if (pT)
{
PostTraverseBTree(pT->pLchild);
PostTraverseBTree(pT->pRchild);
DisPlayElem(pT);
}
return;
}
/* output
B E D C A
*/
数据结构-二叉树后序遍历
猜你喜欢
转载自blog.csdn.net/tyustli/article/details/103639743
今日推荐
周排行