在对链队列作出队操作时,会改变其头指针的值吗?为什么?

 我来答
帐号已注销
2020-11-06 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:164万
展开全部

正确。

既然是队列,只能先进先出,所以只能删除front->next所指的节点,rear指针不动。但如果front->next == NULL,需要把头指针复制给尾指针。这时候队列就是空队列了。所以头尾指针可能都要修改。

假设head是指向队列的头结点指针,p为与duhead同类型的指针,那么head->next指向zhi的是队列的首结点,那dao么出队的操作为

p = head->next;//指向欲出队的结点

head->next = p->next;//这一步不能少

free(p);//销毁队首节点

扩展资料:

测试链接队列为空的条件是front为NULL。事实上,在链接队列中插人一个新的元素就是在链表的表尾链结点后添加一个新链结点;而删除一个元素的操作就是删除链表的第1个链结点。

链接队列的类型可以定义如下。

typedefstruct node{

OElemType data

struct node ,link;

} QNode,xQLink; /*定义一个链表队列类型*/

参考资料来源:百度百科-链接队列

忘至白葬不情必0T
推荐于2017-11-24 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
如果你的链队列是用带头结点的链表来实现的,头指针当然始终指向头结点,不会改变。
如果你的链队列不是用带头结点的链表来实现的,头指针会始终指向队首元素,当然会改变。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式