如下情况,请问rear和front的值分别为多少

若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再插入两个元素后,rear和front的值分别为多少?

慕勒3428872
浏览 335回答 2
2回答

慕丝7291255

大小为6的数组:下标从0-5;从前面出队,从后面入队front(前面)=3rear(后面)=0当出队列中删除一个元素,也就是出队,即front+1:=4再插入两个元素,即rear+2= 2【注】循环队列中,由于入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针,造成队空和队满时头尾指针均相等。因此,无法通过条件front==rear来判别队列是"空"还是"满"。

aluckdog

队列只能在队头删除,队尾插入。删除一个元素,front加一,插入一个元素,rear+1,如果rear此时是5,那么加一后变为0,这就是循环队列的特点。所以,对于本题,最终:front=4;rear=2;
打开App,查看更多内容
随时随地看视频慕课网APP