#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 PreTraverseBTree(struct BTNode *);
static void DisPlayElem(struct BTNode *);
int main(int argc, char *argv[])
{
struct BTNode *pT = CreateBTree();
PreTraverseBTree(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 PreTraverseBTree(struct BTNode *pT)
{
if (pT)
{
DisPlayElem(pT);
PreTraverseBTree(pT->pLchild);
PreTraverseBTree(pT->pRchild);
}
return;
}
/* output
A B C D E
*/
数据结构-二叉树前序遍历
猜你喜欢
转载自blog.csdn.net/tyustli/article/details/103639714
今日推荐
周排行