求数据结构循环队列个数
题目如下:有一个用数组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在队列中吗?
展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询