/********************************************************/
//struct queue
/********************************************************/
#define queue_size 50
struct queue
{
TYPE qu_a[queue_size];
int front;
int rear;
}
/********************************************************/
//initial queue
/********************************************************/
void initqueue(struct queue *q)
{
q->front=-1;
q->rear=-1;
}
/********************************************************/
//judge queue empty
/********************************************************/
int emptyqueue(struct queue q)
{
if(q.front==q.rear)return 1;
return 0;
}
/********************************************************/
//add queue
/********************************************************/
int addqueue(struct queue *q,TYPE *e)
{
if(q->rear==queue_size-1)return 0;
q->rear=q->rear+1;
q->qu_a[q->rear]=e;return 1;
}
/********************************************************/
//delete queue
/********************************************************/
int delqueue(struct queue *q,TYPE *e)
{
if(q->front==q->rear)return 0;
q->front=q->front+1;
*e=q->qu_a[q->front];return 1;
}