假设循环队列的元素存储空间为data[0..m-1],队头指针f指向队头元素,队指针r指向队尾元素的下一个位置(例如data[0..5],队头元素为data[2],则front=2,队尾元素为data[3],则rear=4),则在少用一个元素空间的前提下表示队空和队满的条件各是什么?

1个回答
展开全部
摘要 在循环队列中,若尾指针rear大于头指针front,其元素个数=rear-front
一般地,循环队列元素个数:n=(rear-front+ MAXSIZE) mod MAXSIZE
MAXSIZE为循环队列长度。
其实还可以画个图就知道了,设f为队头,r为队尾,m为队长,n为元素个数,则
1. f>r时,n=m+r-f;
2. f<=r时,n=r-f
咨询记录 · 回答于2021-10-17
假设循环队列的元素存储空间为data[0..m-1],队头指针f指向队头元素,队指针r指向队尾元素的下一个位置(例如data[0..5],队头元素为data[2],则front=2,队尾元素为data[3],则rear=4),则在少用一个元素空间的前提下表示队空和队满的条件各是什么?
在循环队列中,若尾指针rear大于头指针front,其元素个数=rear-front一般地,循环队列元素个数:n=(rear-front+ MAXSIZE) mod MAXSIZEMAXSIZE为循环队列长度。其实还可以画个图就知道了,设f为队头,r为队尾,m为队长,n为元素个数,则1. f>r时,n=m+r-f; 2. f<=r时,n=r-f
队空条件
已赞过
你对这个回答的评价是?
评论 收起
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

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

说明

0/200

提交
取消