二叉树中使用最多的方法就是递归,要能在大脑中想象出函数递归调用的过程。
下面代码实现了二叉树结构体的建立,二叉树的形成,二叉树的遍历,二叉树深度和叶子节点数。
在Dev C++中调试运行通过。
#include <stdio.h>
#include <stdlib.h>
typedef struct BiTNode{
char data;
struct BiTNode *lChild;
struct BiTNode *rChild;
}BiTNode,*BiTree;
//先序创建二叉树
void CreateBiTree(BiTree *T)
{
char ch;
scanf("%c",&ch);
getchar();//回车符也算一个字符,将其去掉
if (ch == '#')//如果输入#,表示没有该节点
{
*T = NULL;
return;
}
else
{
*T = (BiTree)malloc(sizeof(BiTNode));
(*T)->data = ch;
printf("输入%c的左子节点:",ch);
CreateBiTree(&((*T)->lChild));
printf("输入%c的右子节点:",ch);
CreateBiTree((&(*T)->rChild));
}

本文介绍如何使用C语言实现二叉树的基本操作,包括结构体创建、遍历、计算深度和叶子节点数。递归是核心方法,并提供在Dev C++环境下成功调试的代码示例。注意处理输入时需要去除回车符。
最低0.47元/天 解锁文章
1067

被折叠的 条评论
为什么被折叠?



