问题
单项选择题
若循环队列以数组Q0,…,m-1作为其存储结构,变量rear表示循环队列中队尾元素的实际位置,其移动按rear=(rear+1)mod m进行,变量length表示当前循环队列中元素个数,则循环队列的队首元素的实际位置是 (46) ,队空条件为 (47) 。
(46)处填()。
A.rear-length
B.(rear-length+m)mod m
C.(1+rear+m-length)mod m
D.m-length
答案
参考答案:C
解析:
队列(Queue)是一种先进先出(FIFO)的线性表,队列是只允许在一端进行插入,另一端进行删除运算的线性表。允许删除的那一端称为队首(Front),允许插入运算的另一端称为队尾(Rear)。通常称队列的节点插入为进队,队列的节点删除为出队。若有队列Q=(q0,q1,…,qn-1),则q0称为队首节点,qn-1称为队尾节点。队列元素为0的队列称为空队列。
可以用顺序存储线性表来表示队列,也可以用链表来实现,用链表实现的队列称为链队列。