# C++ 二叉树编程实战之递归遍历

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

//二叉树节点
typedef struct BINARYNODE
{
char ch;
struct BINARYNODE *lchild;
struct BINARYNODE *rchild;

}BinaryNode;

void Recursion(BinaryNode *root)
{
if (root == NULL)
{
return;
}

//再遍历左子树
Recursion(root->lchild);

//再遍历右子树
Recursion(root->rchild);

//先访问根节点
printf("%c", root->ch);
}

void CreateBinaryTree()
{
BinaryNode node1 = { 'A',NULL,NULL };
BinaryNode node2 = { 'B',NULL,NULL };
BinaryNode node3 = { 'C',NULL,NULL };
BinaryNode node4 = { 'D',NULL,NULL };
BinaryNode node5 = { 'E',NULL,NULL };
BinaryNode node6 = { 'F',NULL,NULL };
BinaryNode node7 = { 'G',NULL,NULL };
BinaryNode node8 = { 'H',NULL,NULL };

//建立结点关系
node1.lchild = &node2;
node1.rchild = &node6;
node2.rchild = &node3;
node3.lchild = &node4;
node3.rchild = &node5;
node6.rchild = &node7;
node7.lchild = &node8;

//递归遍历
Recursion(&node1);
printf("\n");

}

int main(void)
{
CreateBinaryTree();

return 0;
}



• 点赞
• 评论
• 分享
x

海报分享

扫一扫，分享海报

• 收藏
• 手机看

分享到微信朋友圈

x

扫一扫，手机阅读

• 打赏

打赏

jfztaq

你的鼓励将是我创作的最大动力

C币 余额
2C币 4C币 6C币 10C币 20C币 50C币
• 一键三连

点赞Mark关注该博主, 随时了解TA的最新博文
11-02
11-13

07-18 423
08-14 494
09-27 79
12-02 6498
10-05 231
07-28 82
08-14 1872