设循环队列的存储空间为Q(1:35),初始状态为front=rear=35,现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为()
答案是(rear-front+35)%35,这个是什么东西啊,都看不懂,那个%是什么意思啊?
我只知道用rear-front,然后看得到正数要怎么弄?负数又怎么弄?这种类型的题目应该怎么做呀?哪位大侠能说详细些,讲解得好,我能明白的话,我会加分的,谢谢!
人气:411 ℃ 时间:2020-07-17 20:49:43
解答
如果是正数就不用加35了,如果是负数才要加35
这一题明显是个小陷阱,开始时候front=rear ,结束了还是front=rear 说明进来的和出去的一样多啊,你看 如果这是进来一个元素rear就加1,变成rear=1(因为是1:35啊,就是说元素只能排在1-35之间,35排完了就满了吗,没有 35排完了如果再进来元素就该排在1的位置上了.而不是36,这你得明白)
好了 进来一个rear加1 出去一个呢,front加1 就这样进来出去,进来出去,到最后front和rear还是相等的,那不就说明进来和出去的一样多嘛.这样一来最后的元素就和原来的元素一样多了,明显不是0就是35,因为要么队空(0个元素),要么队满(35个元素)
%是求余数用的 10%3=1,就是这个意思 那个公式就是纯粹数学公式,和编程,语言都没关系.
这种题你画一张图最好理解了,当然短一点最好,弄个队列长度为6的,自己动动手,出对入队的画画就全明白了
推荐
- 在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有 个元
- 设循环队列的存储空间为Q(1:35),初始状态front=rear=35,先经过一系列入队和退队运算后,front=15,
- 循环队列,队满时:(rear+1)%maxsize=front 为什么要对maxsize取余呢?
- 在一个容量为15的循环对列中,若头指针Front=6,尾指针rear=9,则该循环队列中共有几个元素
- 甲数除以乙数,商是9,余数是7.甲乙两数的和加上他们的商,再加上余数,和是173,那么甲数是多少,乙数是
- 甲袋中有红球120个、蓝球40个,乙袋中有红球360个、蓝球80个,要使两袋中红球所占的百分数一样,应从甲袋中取多少个蓝球与乙袋中的红球进行等量交换?
- 46×21—86简便计算
- 车站有80吨货物,单独去运,甲车用4小时运完,乙车用5小时运完,现在由两辆汽车同时去运,每小时
猜你喜欢
- 我需要关于奥运的数学信息!回答者重赏~就2小时,2小时后我会撤销!
- 甲盒中有5个球,其中红球3个,白球2个,乙盒中3个球,红球1个,白球2个.从甲乙两盒中各任取2个球,其中红球个数记作X,求X的可能结果和各概率
- x+2分之x+1+(x+7分之x+6)-x+3分之x+2-(x+6分之x+5)和几道题帮忙算一下
- f(x)∈C²(a,b)表示什么.C代表什么2代表什么.
- 9元20分减6元30分怎么算?
- I don't know where you are
- 两个定值电阻,甲标有16欧姆,1.5安培,乙标有22欧姆0.5安培现把它们串联起来,则该串
- 电磁波可以穿过任何的水吗?