#include<stdio.h>
#include<stdlib.h>
#define max 100
typedef struct{
int data[max];
int front,rear;
}SqQueue;
void InitQueue(SqQueue* &q)//初始化空队列
{
q=(SqQueue*)malloc(sizeof(SqQueue));
q->front=q->rear=-1;
}
void DestoryQueue(SqQueue* &q)//销毁队列
{
free(q);
}
bool QuqeueEmpty(SqQueue* &q)//判断队列是否为空
{
return (q->front==q->rear);
}
bool InQueue(SqQueue* &q,int e)//进队
{
if(q->rear==max-1)
return false;
q->rear++;
q->data[q->rear]=e;
return true;
}
bool OutQueue(SqQueue* &q,int &e)//出队
{
if(q->front==q->rear)
return false;
q->front++;
e=q->data[q->front];
return true;
}
void PrintQueue(SqQueue* &q)//打印队列元素
{
int t;
t=q->front;
while(q->front<q->rear)
{
q->front++;
printf("%d",q->data[q->front]);
}
q->front=t;
}
int main()
{
int a;
SqQueue *Q;
InitQueue(Q);//建立空队
InQueue(Q,5);//入队
PrintQueue(Q);//打印队列中元素
OutQueue(Q,a);//出队
DestoryQueue(Q);//销毁队列
return 0;
}