#include<iostream>
using namespace std;
const QUEUE_ININ_SIZE=100;
const QUEUEINCREMENT=10;
const TRUE=1;
const FALSE=0;
/*定义队列*/
typedef struct{
int *elem;
int front;
int rear;
int queuesize;
int incrementsize;
}SqQueue;
/*删除队首元素*/
bool DeQueue_Sq(SqQueue &Q,int &e)
{
if(Q.front==Q.rear)
return FALSE;
e=Q.elem[Q.front];
Q.front=(Q.front+1)%Q.queuesize;
return TRUE;
}
/*判断队列是否为空,若为空返回TURE,否则返回FALSE*/
bool QueueEmpty_Sq(SqQueue &Q)
{
if(Q.front==Q.rear)
return TRUE;
else
return FALSE;
}
/*若队列不为空,则用e返回队首元素*/
bool GetHead_Sq(SqQueue &Q,int &e)
{
if(!QueueEmpty_Sq(Q))
{
e=Q.elem[Q.front];
return TRUE;
}
else
return FALSE;
}
/*增加队列的大小*/
void incrementQueuesize(SqQueue &Q)
{
int *a;
a=new int[Q.queuesize+Q.incrementsize];
for(int k=0;