队列(Queue):具有一定操作约束的线性表,插入和删除操作只能在不同的两端操作
插入:入队列(AddQ)
删除:出队列(DeleteQ)
先进先出:First In First Out(FIFO)
队列的顺序存储实现:
由一个一维数组和一个记录队列头元素位置的变量Front和一个记录队列尾元素位置的变量Rear来实现(Front指向的是队列头元素的前一位)
循环队列:
队列空:Front == Rear?
队列满:Front == Rear?
解决方法:1、增加Size或者Tag标记 2、仅使用n-1个元素
循环队列实现Rear == MaxSize -1 时,Rear+1等于0的方法:使用求余运算,(Rear+1)%MaxSize
队列的链式存储实现:
Front指向链表的头,Rear指向链表的尾
网友评论