【正确答案】正确答案:设顺序存储队列用一维数组g[m]表示,其中m为队列中元素个数,队列中元素在向量中的下标从0到m一1。设队头指针为舶nt,队尾指针是rear,约定front指向队头元素的前一位置,rear指向队尾元素。当front等于一1时队空,rear等于m一1时为队满。由于队列的性质(“删除”在队头而“插入”在队尾),所以当队尾指针rear等于m一1时,再无法入队。若经过几次退队,队列中会有空闲单元,所以队列并不是真满,这称为“假溢出”。其解决办法有二,一是将队列元素向前“平移”(占用0至rear一front—1);二是将队列看成首尾相连,即看做循环队列(0一m一1)。在循环队列下,仍定义front=rear时为队空,而判断队满则常用两种方法:一种是用“牺牲一个单元”,即rear+1=front(准确记是(rear+1)%时m=front,m是队列容量)时为队满;另一种方法是“设标记”,如设标记tag,tag=0时为队空;tag=1时,若因插入导致舶nt=rear则为队满。
【答案解析】