数据结构关于循环队列的问题 20
若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再插入两个元素后,rear和front的值分别为多少?...
若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再插入两个元素后,rear和front的值分别为多少?
展开
展开全部
大小为6的数组:下标从0-5;从前面出队,从后面入队
front(前面)=3
rear(后面)=0
当出队列中删除一个元素,也就是出队,即front+1:=4
再插入两个元素,即rear+2= 2
【注】
循环队列中,由于入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针,造成队空和队满时头尾指针均相等。因此,无法通过条件front==rear来判别队列是"空"还是"满"。
front(前面)=3
rear(后面)=0
当出队列中删除一个元素,也就是出队,即front+1:=4
再插入两个元素,即rear+2= 2
【注】
循环队列中,由于入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针,造成队空和队满时头尾指针均相等。因此,无法通过条件front==rear来判别队列是"空"还是"满"。
参考资料: http://baike.baidu.com/view/203647.htm
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询