二叉树的基本操作及遍历

该博客介绍了二叉树的基本操作,包括创建栈、队列以及二叉树,并实现了二叉树的先序、中序、后序和层序遍历。此外,还提供了插入和删除树节点的功能,并通过示例展示了这些操作后的层序遍历输出。
摘要由CSDN通过智能技术生成
#include<stdio.h>
#include<stdlib.h>
#define LENGTH 100	//初始分配栈的长度
#define ADD_LEN 10	//栈长增量
typedef struct BiTNode
{//构造二叉树结点类型
	char data;
	struct BiTNode *LChild,*RChild;
}BiTNode, *BiTree;
typedef struct 
{//构造栈的数据类型 
	BiTNode *base;
	BiTNode *top;
	int stacksize;
}SqStack;
typedef struct QNode
{//构造队列结点类型
	BiTNode data;
	struct QNode *next;
}*QueuePtr;
typedef struct 
{	QueuePtr front;
	QueuePtr rear;
}LinkQueue;
void Print(char e)
{//遍历输出函数
	printf("%c",e);
}
void CreateStack(SqStack &S);//初始化一个栈
void PushStack(SqStack &S,BiTNode &e);//e进栈
void PopStack(SqStack &S,BiTNode &e);//栈顶元素出栈
int StackEmpty(SqStack &S);//判断栈是否为空
int GetTop(SqStack &S,BiTNode &e);//获取栈头元素
void CreateQueue(LinkQueue &Q);//创建队列
void EnQueue(LinkQueue &Q,BiTNode &e);//插入元素进队
void DeQueue(LinkQueue &Q,BiTNode &e);//删除并输出队头元素
int QueueEmpty(LinkQueue &Q);//判断队列是否为空
void CreateBiTree(BiTree &T);//创建树
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值