/*
队的基本操作
InitQueue(&Q) //初始化队列
QueueEmpty(Q) //判断队是否为空
EnQueue(&Q,&x) //入队
DeQueue(&Q,&x) //出队
GetHead(&Q,&x) //读出队头
注:队是受限的线性表,无法读出队中的某一个元素
*/
#include<stdio.h>
#define Maxsize 50
typedef struct{
int Q[Maxsize];
int front,rear;
}sqQueue;
void InitQueue(sqQueue &Q)
{
Q.front = Q.rear =0
}
bool QueueEmpty(sqQueue Q)
{
if(Q.front == Q.rear)
return true;
else
return false;
}
bool EnQueue(sqQueue &P,int x)
{
if(P.rear%(Maxsize-1)==P.front)
{
return false;
}
else
{
P.Q[P.rear] = x;
return true;
}
}
bool DeQueue(sqQueue &P,int x)
{
if(P.rear%(Maxsize-1)==P.front)
{
return false;
}
else
{
x = P.Q[P.front];
P.front = (P.front+1)%Maxsize;
return true;
}
}
队的基本操作
最新推荐文章于 2023-04-23 15:55:42 发布