一道数据结构 循环队列的题目,求助!
题目是:已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一位置,则在队列不满的情况下,队列的长度是:_____PS:详细说...
题目是:
已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一位置,则在队列不满的情况下,队列的长度是:_____
PS:详细说下思路,一道填空题,答案我有。
我答的是rear-front,但不对,不知道哪错了,还有哪些情况请说明
知道的朋友说下,满意一定追加! 展开
已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一位置,则在队列不满的情况下,队列的长度是:_____
PS:详细说下思路,一道填空题,答案我有。
我答的是rear-front,但不对,不知道哪错了,还有哪些情况请说明
知道的朋友说下,满意一定追加! 展开
2个回答
展开全部
队列长度应该为:(rear - front + m)% m
循环队列主要是两种情况:
1.front在上面,比如一个长度为5的循环队列:-代表空,x代表有数据
|-------5|
|-------4| <-rear
|xxxxxx3|
|xxxxxx2|<-front
|-------1|
那么队列的长度是rear-front是没有问题的
2.由于是循环队列,入队的时候从尾巴进,出来的时候从front出来,如果情况1再进来2个元素就变为
|xxxxx5|
|xxxxx4|
|xxxxx3|
|xxxxx2|<-front
|-------|<-rear
显然,这种情况下用rear-front得出来的结果就不正确了,所以就出来上面的公式了
其实我觉得取绝对值也可以吧
循环队列主要是两种情况:
1.front在上面,比如一个长度为5的循环队列:-代表空,x代表有数据
|-------5|
|-------4| <-rear
|xxxxxx3|
|xxxxxx2|<-front
|-------1|
那么队列的长度是rear-front是没有问题的
2.由于是循环队列,入队的时候从尾巴进,出来的时候从front出来,如果情况1再进来2个元素就变为
|xxxxx5|
|xxxxx4|
|xxxxx3|
|xxxxx2|<-front
|-------|<-rear
显然,这种情况下用rear-front得出来的结果就不正确了,所以就出来上面的公式了
其实我觉得取绝对值也可以吧
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询