#include<iostream.h>
const int maxsize=100;
class seqqueue
{
public:
int queue[maxsize];
int front;// 头指针
int rear;//尾指针
void iniqueue(seqqueue &q);//初始化队列
void enqueue(seqqueue &q, int x);// 入队
void dlqueue(seqqueue &q);//出对
int gethead(seqqueue q);//取队头
bool empty(seqqueue q);//判断对是否为空
//
};
void seqqueue::iniqueue(seqqueue &q)
{
q.front=q.rear=0;
}
void seqqueue::enqueue(seqqueue &q,int x)
{
if((q.rear+1)%maxsize==q.front)
cout<<"overflow/n";
else
{
q.rear=(q.rear+1)%maxsize;
q.queue[q.rear]=x;
}
}
void seqqueue::dlqueue(seqqueue &q)
{
if(q.rear==q.front) cout<<"underflow/n";
else
q.front=(q.front+1)%maxsize;
}
int seqqueue::gethead(seqqueue q)
{
if (q.rear==q.front)
{
cout<<"overflow/n";
return NULL;
}
else
return q.queue[(q.front+1)%maxsize];
}
bool seqqueue::empty(seqqueue q)
{
if(q.rear=q.front)
return true;
else
return false;
}
void main()
{
seqqueue q;
q.iniqueue(q);
q.enqueue(q,10);
// q.enqueue(q,11);
cout<<q.gethead(q)<<"/n";
cout<<q.empty(q)<<"/n";
cout<<"front"<<q.front<<"/n";
cout<<"rear"<<q.rear<<"/n";
}