顺序队中实现队列的基本运算
void InitQueue(Squeue *&q)
{
q=(Squeue *)malloc (sizeof(Squeue));
q->front=q-rear=-1;
}
//(2)销毁队列
void DestroyQueue(Squeue *&q)
{
free(q);
}
//(3)判断队列是否为空
bool QueueEmpty(SqQueue *q)
{
return (q->front==q->rear);
}
//(4)进队列
bool enQueue(SqQueue *&q,Elemtype e)
{
if(q->front==MaxSize-1)
return false;
q->rear++;
q->data[q->rear]=e;
return true;
}
//(5)出队列
bool deQueue(SqQueue *&q,Elemtype &e)
{
if(q->front==q->rear)
return false;
q->front++;
e=q->data[q->front];
return true;
}