其他头文件,见我的其他文章
#include "Global.h"
#include<stdio.h>
#include<stdlib.h>
//操作定义
//初始化
void InitLinkQueue(LinkQueue *queue)
{
//新建一个节点,让队列的头尾指针指向此节点
queue->front=queue->rear=malloc(sizeof(LinkNode));
//新申请的节点指向空
queue->rear->next=NULL;
}
//队列判空
int IsEmpty(LinkQueue *queue)
{
if (queue->front==queue->rear) return 1;
return 0;
}
//入对
void EnQueue(LinkQueue *queue,Tree data)
{
LinkNode *temp=malloc(sizeof(LinkNode));
temp->data=data;
temp->next=NULL;
//加入链表
queue->rear->next=temp;
//移动对尾指针
queue->rear=temp;
}
int DeQueue(LinkQueue *queue, Tree *data)
{
//先判空
if (IsEmpty(queue)==1) return 0;
LinkNode *temp=queue->front->next;
(*data)=temp->data;
queue->front->next=temp->next;
if (temp==queue->rear) queue->rear=queue->front;
free(temp);
}