队列的顺序存储结构

队列的顺序存储结构
#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
分享
二维码
海报
队列的顺序存储结构
队列的顺序存储结构 #define MAXSIZE 100 typedef struct {     QELemType *base;     int front;     int rear; }SqQueue;     循环队列的初始……
<<上一篇
下一篇>>