#include<stdio.h>
#define true 1
#define false 0
#define MAXSIZE 50
typedef int ElemType;
typedef int Status;
typedef struct{
ElemType elem[MAXSIZE];
int front;
int rear;
}Queue;
void InitQueue(Queue *Q)
{
Q->front = 0;
Q->rear = 0;
}
Status IsEmptyQueue(Queue *Q)
{
if(Q->front == Q->rear)
return true;
else
return false;
}
Status EnQueue(Queue *Q,ElemType e)
{
if(Q->front == (Q->rear+1)%MAXSIZE)
return false;
Q->elem[Q->rear] = e;
Q->rear = (Q->rear+1)%MAXSIZE;
return true;
}
Status DeQueue(Queue *Q,ElemType *e)
{
if(Q->front == Q->rear)
return false;
*e = Q->elem[Q->front];
Q->front = (Q->front+1)%MAXSIZE;
return true;
}
Status ReQueue(Queue *Q,ElemType *e)
{
if(Q->front == Q->rear)
return false;
*e = Q->elem[Q->front];
return true;
}
int main()
{
Queue Q;
ElemType simple = 250,e;
InitQueue(&Q);
EnQueue(&Q,simple);
ReQueue(&Q,&e);
printf("%d\n",e);
DeQueue(&Q,&e);
printf("%d\n",e);
return 0;
}
数据结构-顺序循环队列
最新推荐文章于 2024-06-11 23:41:51 发布