🤓 双端队列

双端队列

双端队列是指允许两端都可以进行入队和出队操作的队列、双端队列是比较特殊的线性表,具有栈和队列的两种性质。

队空

Q.front==Q.rear;

队满

(Q.rear+1)%Maxsize=Q.front

后端入队

Q.base[Q.rear]=x;
Q.rear=(Q.rear+1)%Maxsize;

前端入队

Q.front=(Q.front-1+Maxsize)%Maxsize;
Q.base[Q.front]=x;

后端出队

rear.front=(Q.rear-1+Maxsize)%Maxsize;
e=Q.base[Q.rear];

前端出队

e=Q.base[Q.front]
Q.front=(Q.front+1)%Maxsize;

计算长度

(Maxsize-Q.front+Q.rear)%Maxsize