c语言版静态链式二叉树怎么实现

本篇内容介绍了“c语言版静态链式二叉树怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联主营大同网站建设的网络公司,主营网站建设方案,成都APP应用开发,大同h5成都微信小程序搭建,大同网站营销推广欢迎大同等地区企业咨询

#include <stdio.h>

#include <malloc.h>

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、先访问根节点

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语言版静态链式二叉树怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!

网页题目:c语言版静态链式二叉树怎么实现
浏览路径:https://www.cdcxhl.com/article4/jgogie.html

成都网站建设公司_创新互联,为您提供品牌网站建设虚拟主机静态网站品牌网站制作网站导航

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站建设