这不是个死循环吗

hywxn1 2014-04-28 07:27:40
今天看数据结构看到单循环链表时有这样一段程序:
while(head->next !=NULL)
{
curr=head->next;
head->next=curr->next;
delete curr;
}这不是个死循环吗,当删除的只剩下头结点时,head->next永远是头结点的地址啊,不会为空,怎么会跳出while循环呢

...全文
97 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gz_qmc 2014-04-28
  • 打赏
  • 举报
回复
正所谓,空即是色,色既是空
gz_qmc 2014-04-28
  • 打赏
  • 举报
回复
head-才是头结点的地址 当删除的只剩下头结点时,head即使不空,head->next一定空了
Morrisss_ 2014-04-28
  • 打赏
  • 举报
回复
你这是普通的单向链表的代码吧。。。不是循环的。好好看书上前后怎么说。。。
ooolinux 2014-04-28
  • 打赏
  • 举报
回复
单循环链表分有无头结点(非实际数据结点,方便插入等操作代码统一),头结点又分是否在循环内,你看看书本上下文。
ztenv 版主 2014-04-28
  • 打赏
  • 举报
回复
单循环链表和你想的不太一样吧?

64,652

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧