在c语言中,头指针和尾指针是什么意思
在一个容量为15的循环对列中,若头指针front=6,尾指针rear=14,则该循环队列中共有多少个元素,具体说明下为什么,通俗点,谢谢各位!!...
在一个容量为15的循环对列中,若头指针front=6,尾指针rear=14,则该循环队列中共有多少个元素,具体说明下为什么,通俗点,谢谢各位!!
展开
5个回答
展开全部
这是数据结构的概念,和C语言没关系.
而且根据不同教材上对队列的实现方式的不同,答案都是不一样的,比如我看过的书上,front是指向第一个元素,rear是指向最后一个元素的后一个结点,那么答案就是8.有可能别的教材上rear就是指向最后一个元素,那么结果就是9了.
而且根据不同教材上对队列的实现方式的不同,答案都是不一样的,比如我看过的书上,front是指向第一个元素,rear是指向最后一个元素的后一个结点,那么答案就是8.有可能别的教材上rear就是指向最后一个元素,那么结果就是9了.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是有公式的,当头指针<尾指针时,队列中总共的元素=rear-front
当头指针>尾指针时,队列中总共的元素=rear-front+队列容量
而此题中,答案=14-6=8
当头指针>尾指针时,队列中总共的元素=rear-front+队列容量
而此题中,答案=14-6=8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
非循环队列的计算就是简单的rear-front
循环队列需要考虑假溢出,所以在计算的时候,需要max(最大容量)-front,第二步,0+rear,综合起来就是max+rear-front。
所以综合起来就是(max+rear-front)%max
循环队列需要考虑假溢出,所以在计算的时候,需要max(最大容量)-front,第二步,0+rear,综合起来就是max+rear-front。
所以综合起来就是(max+rear-front)%max
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
头指针是指向头结点的指针,头结点是指向链表头的结点。
尾指针是相对于头指针而言的,形式与头指针相同,内容指向链表的最后一个节点。
通常,链表的插入语删除操作都是在链表头或者链表尾进行。如果只保存一个头指针的话,要在链表尾操作时必须先遍历整个表,增加了时间复杂度,如果能再保存一个尾指针,则可以立即找到链表尾,时间复杂度降为O(1)
在单向循环链表中,时常只保存一个尾指针,因为尾指针的下一个节点即是头结点。这样便可以方便地在首尾进行操作。
尾指针是相对于头指针而言的,形式与头指针相同,内容指向链表的最后一个节点。
通常,链表的插入语删除操作都是在链表头或者链表尾进行。如果只保存一个头指针的话,要在链表尾操作时必须先遍历整个表,增加了时间复杂度,如果能再保存一个尾指针,则可以立即找到链表尾,时间复杂度降为O(1)
在单向循环链表中,时常只保存一个尾指针,因为尾指针的下一个节点即是头结点。这样便可以方便地在首尾进行操作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询