typdef int QElemType;
typdef struct {
QElemType data[MAXSIZE];
int front;
int rear;
}SqQueue;
bool InitQueue(SqQueue *Q)
{
Q->front = Q->rear = 0;
return true;
}
int QueueLength(SqQueue Q)
{
return (Q.rear - Q.front +MAXSIZE) %MAXSIZE;
}
bool EnQueue(SqQueue *Q, QElemType e)
{
if((Q->rear +1) %MAXSIZE == Q->front)
return false;
Q->data[Q->rear] = e;
Q->rear = (Q->rear + 1)%MAXSIZE;
return true;
}
bool DeQueue(SqQueue *Q,QElemType *e)
{
if(Q->front == Q->rear)
return false;
*e = Q->data[Q->front];
Q->front = (Q->front+1) %MAXSIZE;
return true;
}
typdef struct {
QElemType data[MAXSIZE];
int front;
int rear;
}SqQueue;
bool InitQueue(SqQueue *Q)
{
Q->front = Q->rear = 0;
return true;
}
int QueueLength(SqQueue Q)
{
return (Q.rear - Q.front +MAXSIZE) %MAXSIZE;
}
bool EnQueue(SqQueue *Q, QElemType e)
{
if((Q->rear +1) %MAXSIZE == Q->front)
return false;
Q->data[Q->rear] = e;
Q->rear = (Q->rear + 1)%MAXSIZE;
return true;
}
bool DeQueue(SqQueue *Q,QElemType *e)
{
if(Q->front == Q->rear)
return false;
*e = Q->data[Q->front];
Q->front = (Q->front+1) %MAXSIZE;
return true;
}