若用一個大小為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
提交
取消