队列 | Personal Blog

队列

1

允许在一端(队尾)插入,另一端(队头)删除的表叫做队列
分别用first和last指针指向队头和队尾的下一位置或队头的前一位置和队尾

2.循环队

为了将存储单元利用最大化,需要重复使用已退队的元素所占用的存储空间

循环队进队

1
2
3
4
5
6
7
int addq(int q[],int &first,int &last,int x)
{
    if((last+1)%m==first) return 0;//取模,让指针指向最后一个结点后指向开辟空间的首空间,满足条件则说明队满
    q[last]=x;
    last=(last+1)%m;//last前移
    return 1;
}