c语言二叉树的算法,数据结构算法C语言实现(二十)--- 6.3.1遍历二叉树

这篇博客介绍了如何使用C语言实现二叉树的先序、中序和后序遍历,包括递归和非递归两种方法。通过创建二叉树,然后运用不同的遍历策略,对树中的每个节点进行访问。
摘要由CSDN通过智能技术生成

1 //6_3_part1.h

2 /**3 author:zhaoyu4 date:2016-6-185 */

6 #include "head.h"

7 #define TElemType char

8 //----二叉树的二叉链表表示----

9 typedef structBiTNode{10 TElemType data;11 struct BiTNode *lchild, *rchild;12 }*BiTree;13 /**14 algorithm 6.415 */

16 Status CreateBiTree(BiTree &T)17 {//按先序次序输入二叉树中结点的值(一个字符),空格字符表示空树18 //构造二叉链表表示的二叉树

19 charch;20 scanf("%c", &ch);21 if (' ' ==ch)22 {23 T =NULL;24 }25 else

26 {27 if (!(T = (BiTree)malloc(sizeof(BiTNode))))28 {29 exit(OVERFLOW);30 }31 T->data = ch;//生成根结点

32 CreateBiTree(T->lchild);33 CreateBiTree(T->rchild);34 }35 returnOK;36 }37 Status Visit(TElemType e)38 {39 printf("%c", e);40 returnOK;41 }42 /**43 algorithm 6.144 */

45 Status RecursionPreOrderTraverse(BiTree T, Status (*Visit)(TElemType e))46 {//采用二叉链表存储结构,Visit是对数据元素操作的应用函数47 //先序遍历二叉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值