#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);//创建树
二叉树的基本操作及遍历
最新推荐文章于 2022-12-03 10:08:31 发布
该博客介绍了二叉树的基本操作,包括创建栈、队列以及二叉树,并实现了二叉树的先序、中序、后序和层序遍历。此外,还提供了插入和删除树节点的功能,并通过示例展示了这些操作后的层序遍历输出。
摘要由CSDN通过智能技术生成