队列的顺序存储结构
队列的顺序存储结构
#define MAXSIZE 100
typedef struct
{
QELemType *base;
int front;
int rear;
}SqQueue;
循环队列的初始化
Status InitQueue(SqQueue &Q)
{
Q.base=new QElemType[MAXQSIZE];
if(!Q.base) exit(OVERFLOW);
Q.front=Q.rear=0;
return OK;
}
求循环队列的长度
int QueueLength(SqQueue Q)
{
return (Q.rear-Q.front+MAXQSIZE)%MAXQSIZE;
}
循环队列的入队
Status EnQueue(SqQueue &Q,QElemType e)
{
if((Q.real+1)%MAXQSIZE==Q.front)
return ERROR;
Q.base[Q.rear]=e;
Q.rear=(Q.rear+1)%MAXQSIZE;
return OK;
}
取循环队列的队头元素
SElemType GetHead(SqQueue Q)
{
if(Q.front!=Q.rear)
return Q.base[Q.front];
}
版权声明:
作者:maple
链接:https://www.maplezeroz.com/?p=258
来源:我的学习笔记
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
海报
队列的顺序存储结构
队列的顺序存储结构
#define MAXSIZE 100
typedef struct
{
QELemType *base;
int front;
int rear;
}SqQueue;
循环队列的初始……

共有 0 条评论