//层次遍历二叉树并输出结点的算法
#include <stdio.h>
#include <stdlib.h>
typedef struct NNode
{
char data;
struct NNode *LChild;
struct NNode *RChild;
} BiTNode,*BiTree; //定义二叉树结点和结点指针
typedef BiTree QueueElementType;
typedef struct Node
{
QueueElementType data;
struct Node *next;
} LinkQueueNode; //定义队列结点
typedef struct
{
LinkQueueNode *front; //队列头结点指针
LinkQueueNode *rear; //队列尾结点指针
} LinkQueue; //定义队列
int InitQueue(LinkQueue *Q ) //初始化队列
{
Q->front=(LinkQueueNode * )malloc(sizeof(LinkQueueNode));
if(Q->front != NULL)
{
Q->rear=Q->front;
Q->front->next=NULL;
return 1;
}
else return 0;//溢出
}
int EnterQueue(LinkQueue *Q,QueueElementType x) //元素x入链队列 尾插法
{
LinkQueueNode * newnode;
newnode=(LinkQueueNode *) malloc(sizeof(LinkQueueNode));
if(newnode != NULL)
{
newnode->data=x;
newnode->next=NULL;
数据结构 树 层次遍历二叉树 C语言版
最新推荐文章于 2024-08-16 09:16:07 发布
本文介绍了一个使用C语言实现的层次遍历二叉树的算法,包括二叉树节点定义、队列数据结构以及层次遍历的具体实现。通过先序遍历创建二叉树,然后进行层次遍历输出节点数据。
摘要由CSDN通过智能技术生成