求数据结构循环队列个数

题目如下:有一个用数组C[1..m]表示的环形队列,m为数组的长度。假设f为队头元素在数组中的位置,r为队尾元素的后一位置(按顺时针方向)。若队列非空,则计算队列中元素个... 题目如下:有一个用数组C[1..m]表示的环形队列,m为数组的长度。假设f为队头元素在数组中的位置,r为队尾元素的后一位置(按顺时针方向)。若队列非空,则计算队列中元素个数的公式应为:答案是:(m+r-f) mod m我花了一张图,f是对头就是删除元素的一端,r是队尾就是插入元素的一端,那么他的元素个数按照图中顺时针不应该是(8-3=5个)吗,为什么按照答案的公式是3个呢?那不就成了8,1,2三个元素再队列中吗,不应该是4,5,6,7,8在队列中吗? 展开
 我来答
司马刀剑
高粉答主

2018-10-17 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7687万
展开全部
栈,队列,循环队列这个元素计算,要看具体定义的。栈顶指针或队列队尾指针如果指向即将入栈(或入队)的元素位置就是尾-头,对于循环队列应是(尾-头+数组的最大长度)%数组的最大长度
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式