队列
typedef struct{
QElemtype *base;
int front;
int rear;
}SqQueue;
//队列的顺序存储结构
Status initStack(SqQueue &Q)
{
Q.base=new QElemtype[maxsize];
if(!Q.base)exit(overflow);
Q.front=Q.rear=0;
return OK;
}//顺序队列的初始化
Status push(SqQueue &Q,QElemtype e)
{
if((Q.rear+1)%maxsize==Q.front)exit(overflow);
Q.base[Q.rear]=e;
Q.rear=(Q.rear+1)%maxsize;
return OK;
}//入队
Stack Length(SqQueue &Q)
{
return (Q.rear-Q.front+maxsize)%maxsize;
}//求队列长度
Status pop(SqQueue &Q,QElemtype &e)
{
if(Q.rear==Q.front)return ERROE;
e=Q.base[Q.front];
Q.front=(Q.front+1)%maxsize;
return OK;
}//出队
Status gettop(SqQueue Q,QElemtype &e)
{
if(Q.rear!=Q.front)return ERROE;
return Q.base[Q.front];
}//得到队头 *** 作
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)