若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再插入两个元素后,rear和front的值分别为多少?
2 回答
慕丝7291255
TA贡献1859条经验 获得超6个赞
大小为6的数组:下标从0-5;从前面出队,从后面入队
front(前面)=3
rear(后面)=0
当出队列中删除一个元素,也就是出队,即front+1:=4
再插入两个元素,即rear+2= 2
【注】
循环队列中,由于入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针,造成队空和队满时头尾指针均相等。因此,无法通过条件front==rear来判别队列是"空"还是"满"。
aluckdog
TA贡献1847条经验 获得超7个赞
队列只能在队头删除,队尾插入。删除一个元素,front加一,插入一个元素,rear+1,如果rear此时是5,那么加一后变为0,这就是循环队列的特点。所以,对于本题,最终:front=4;rear=2;
添加回答
举报
0/150
提交
取消