# include <stdio.h>
# include <malloc.h>struct BTNode
{int data;struct BTNode * pLchild; // p 是指针   L 是左   child 是孩子struct BTNode * pRchild; // 表示右孩子
};struct BTNode * CreateBTree(void); //静态创建二叉树
void PreTraverseBTree(struct BTNode * pT); //先序遍历
void InTraverseBTree(struct BTNode * pT); //中序遍历
void PostTraverseBTree(struct BTNode * pT); //后续遍历int main(void)
{BTNode pT = CreateBTree(); //这里不能加 void
    PreTraverseBTree(pT); //先序遍历InTraverseBTree(pT); //中序遍历PostTraverseBTree(pT); //后续遍历return 0;
}void PostTraverseBTree(struct BTNode * pT) //后续遍历
{if (pT != NULL){if (NULL != pT->pLchild){PostTraverseBTree(pT->pLchild); // pT->pLchild可以代表整个左子树
        }if (NULL != pT->pRchild){PostTraverseBTree(pT->pRchild);}printf("%c\n", pT->data);}
}void InTraverseBTree(struct BTNode * pT) //中序遍历
{if (pT != NULL){if (NULL != pT->pLchild){InTraverseBTree(pT->pLchild); // pT->pLchild可以代表整个左子树
        }printf("%c\n", pT->data);if (NULL != pT->pRchild){InTraverseBTree(pT->pRchild);}}
}void PreTraverseBTree(struct BTNode * pT) //先序遍历
{if (pT != NULL){printf("%c\n", pT->data);if (NULL != pT->pLchild){PreTraverseBTree(pT->pLchild); // pT->pLchild可以代表整个左子树
        }if (NULL != pT->pRchild){PreTraverseBTree(pT->pRchild);}} // if 判断不能省略/*   //伪算法先访问跟节点再先序访问左子树在先序访问右子树
*/
}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;
}

转载于:https://www.cnblogs.com/LXL616/p/10661636.html

C_数据结构_链式二叉树相关推荐

  1. 数据结构树状结构链式二叉树

    链式二叉树: 遍历: 前序 中序 后序 下面是具体实现: 1.前序遍历: void PreTraverseLTree(struct LTNode *pT) {if(pT!=NULL){cout< ...

  2. 二叉树(二)----->链式二叉树(上)

    文章的主体内容 1.链式二叉树链式二叉树的表示法 2.二叉树的前中后序遍历思想 3.求二叉树节点的个数及叶子节点的个数及第k层节点数 5.查找二叉树值为x的节点 6.二叉树的层序遍历 7.二叉树的深度 ...

  3. 顺序二叉树(堆)与链式二叉树的C语言实现

    文章目录 树的概念及结构 树的概念 树的相关概念 树的表示 树在实际中的运用 二叉树的概念及结构 二叉树的概念 现实中的二叉树 特殊的二叉树 二叉树的性质 二叉树的存储结构 二叉树的顺序结构及实现 二 ...

  4. 链式二叉树的代码实现

    目录 二叉树的存储结构: 链式二叉树的实现 1.二叉树的结构体类型 2.创建二叉树结点 代码实现: 3.二叉树的前序遍历 测试结果: 4.二叉树的中序遍历 测试结果: 5.二叉树的后序遍历 测试结果: ...

  5. 【Java数据结构】链式存储的二叉树

    链式存储的二叉树 二叉树数据结构 创建二叉树 二叉树的遍历 先序遍历 中序遍历 后序遍历 二叉树节点的查找 先序查找 中序查找 后序查找 删除二叉树的子树 二叉树示例完整代码 BinaryTree 类 ...

  6. 数据结构初阶——链式二叉树

    目录 树概念及结构 树的概念 树的表示 二叉树概念及结构 概念 特殊二叉树 二叉树的性质 二叉树链式结构及实现 二叉树的简单创建 二叉树的前序遍历 二叉树中序遍历与二叉树后序遍历 求二叉树节点个数 求 ...

  7. php之二叉树,PHP数据结构之实现链式二叉树与遍历

    /******************************************************** * 我写的PHP都是从C语言的数据结构中演化而来****************** ...

  8. 链式存储结构 php,【PHP 实现数据结构】链式队列

    什么是链式队列 队列是一种"先进先出"的存储结构,是一种特殊的线性表,于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作. 通常队列可以分为顺序队 ...

  9. 数据结构—链表-链式存储

    头节点里面不放任何东西 头指针指向头节点 有些链表没有头节点 头指针直接指向首节点 头节点是为了方便插入和删除运算的实现 单链表的存储结构其实就是描述每一个节点是如何构成的 首先他数据域和数据类型是什 ...

最新文章

  1. 如何编辑PDF文件,PDF编辑器如何使用
  2. eeglab中文教程系列(14)-Working with ICA Components
  3. 浅谈配置文件:spring-servlet.xml(spring-mvc.xml) 与 applicationContext.xml
  4. github-share报错无法读取远程仓库
  5. 经典|Linux:为什么性能工具需要 BPF 技术(送多本)
  6. Java继承-子类不可以继承父类的构造方法
  7. AuthenticationManager验证原理分析
  8. 数据千万条,备份第一条:VFEmail被擦除所有数据面临关停
  9. RocketMQ(六)—IndexFile详解
  10. Pthon入门--range()函数
  11. iOS 全局变量(转)
  12. ug建模文本怎么竖着_UG软件见解分析一二,设计必备软件,UG新手福音
  13. python杂记-6(timedatetime模块)
  14. 国家基本比例尺地图图式
  15. java实现9*9乘法表
  16. html5中将图片的绝对路径转换成文件对象
  17. python输出箭头代码_OS X和代码在Python中的“向上箭头”历史记录.InteractiveConsole...
  18. 水雨情监测系统 实时监测
  19. 冒泡,选择,插入排序
  20. echart报错(Unkown series surface)

热门文章

  1. 从1到10排序的C语言程序,C语言:用冒泡法从高到低排序10 个数,然后进行反排序...
  2. 北京科技大学天津学院第三届智能车校内赛总决赛完美落幕
  3. 几款不同颜色LED的伏安特性
  4. 基于MEGA8的声音CLICK模块
  5. 第十五届全国大学生智能汽车竞赛华北赛区比赛
  6. js截屏 video_canvas与html5实现视频截图功能
  7. 手机屏幕 高宽有哪些_企业文化不仅要上墙,更要霸屏!企业文化如何在线上进行宣传?如何在屏幕上宣传?看这篇就够了!...
  8. 启动马达接线实物图_电工知识:三相电机正反转的完整接线,实物讲解,原理分析...
  9. python中pos的用法_Python正则式的基本用法
  10. 如何分析案件的性质_刑事案件的管辖地怎么确定?刑事案件地域管辖是怎样的?...