永发信息网

为什么顺序队列为空的条件不是是front=-1,rear=0

答案:5  悬赏:0  手机版
解决时间 2021-02-13 18:58
为什么顺序队列为空的条件不是是front=-1,rear=0
最佳答案
rear一般指向下一个位置。
没有元素。这个具体要看定义,最好有原代码。你可以把原代码贴出来,我给你具体分析。这只是大家习惯这样,你具体怎么写都没关系的。一定不要死记硬背,考场上给你一段源代码,他没准写成rear指向下三个位置,用的时候-3再用,那也没错。得学会分析。
不过一般来说顺序队列都是包含首不包含尾的。你这个场景应该是首尾都不包含。
补充:这个怎么分析,要看他插入队列(rear)和离开队列(front)这两个地方怎么操作的。如果是先插入再移动指针,说明不包含尾;如果是先移动指针再插入,说明是包含尾。首部是管离开队列的,要看离开队列,或者取队首元素的代码。如果是先取出队首值,再移动指针,说明是包含首;如果是先移动指针,再取队首值,说明不包含。
这个场景,一个-1,一个0,应该是先移动队首,再取值,说明是不包含队首;先插入队尾,再移动队尾,说明不包含队尾。
谢谢啦!
全部回答
因为是循环队列,循环队列的思想是如果队头有空余的位置,则可以把数据插入到队头,从而是一个圈 q->front==q->rear+1明显是一个判定条件,判定当前队列是否已满,当当前队列q->front正好为0,q->rear为(maxsize-1,即整个队列的最后一个),q->rear+1就溢出了,(q->rear+1)%maxsize正好就是0,从而可以判断front和rear+1是不是同一个位置
当front=0,rear=0时候,再进行入队运算,rear会向等于rear+1,也就是第一个元素是data[1],这样front 指向的就是第一个元素data[1]的前一个元素。 我觉得front=-1也可以,但是后面入队的操作就要改一下。 初学小白,自己的看法,望dalao指正。
请问 为什么循环队列的初始状态为空时,rear和front要等于m?为什么不等于0? 谢谢了
因为是循环队列,循环队列的思想是如果队头有空余的位置,则可以把数据插入到队头,从而是一个圈 q->front==q->rear+1明显是一个判定条件,判定当前队列是否已满,当当前队列q->front正好为0,q->rear为(maxsize-1,即整个队列的最后一个),q->rear+1就溢出了,(q->rear+1)%maxsize正好就是0,从而可以判断front和rear+1是不是同一个位置
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
阳台种菜怎么浇水管理
利用平面镜不但可以(   ),还可以改变光
下列关于“三个代表”重要思想的论述,正确的
新乡市第一人民医院-医用氧舱室地址有知道的
卧室门用什么材质好些
汽车进气压力传感器和进气温度传感器和空气流
猴王把90个桃分给大、中、小三只小猴,大猴说:
深圳市尚色文化发展有限公司在哪里啊,我有事
妩媚魅惑女子的英文名(带中文翻译)
根据密码子表可知A. 密码子在DNA分子上B. 密
SSD需要关闭superfetch服务吗
呼和浩特市的会计从业资格证从哪里领?具体地
找了个男朋友比我小一岁,怎么感觉找的不是男
会琴棋书画茶的女人为什么老是容易招已婚男人
保定哪里有卖三和自喷漆的,最好是三和的 ,
推荐资讯
60岁男人几天做一次爱算正常
求一个qq空间的手机标识,要雷人些的,不要那
湖北力汇融资担保有限公司在什么地方啊,我要
四川赤健中药科技有限公司这个地址在什么地方
【带鱼的成语】带鱼字的成语有哪些
中石油八宝加油站地址在什么地方,我要处理点
星火台球俱乐部地址好找么,我有些事要过去
种子萌发需要什么条件
在那能找到天地风云录之决战时刻``15 16 和19
姊妹赠送的房子怎样办理过户手续
有没有“不需要网络的调频收音机”呢,各位车
z97k 2.0主板上两个显卡插槽规格一样么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?