队列 顺序存储

来源:互联网 发布:怎么在淘宝刷好评赚钱 编辑:程序博客网 时间:2024/06/06 02:12

使用一组地址连续的存储单元依次存放队列中元素,同时需要两个指针front和rear分别指示队列头元素和尾元素的位置

其实front和rear也不能叫做指针,因为队列顺序存储结构定义是这么写的:

#define MAXQSIZE 100   //最大队列长度
typedef struct{    QElemType *base;    int front;    int rear;}SqQueue;
front和rear都是int型,目的是为了标示元素的位置,和下标功能差不多。且初始化时,front = rear = 0。

插入元素,rear+1;删除元素front+1。


循环队列中判断队列长度时:

return (q->rear - q->front + MAXQSIZE) % MAXQSIZE;


插入元素e时:
q->base[q->rear] = e ;
就是下标




原创粉丝点击