社区
数据结构与算法
帖子详情
求助一数据结构的问题!
chinaJeff
2003-08-18 08:56:08
void DestroyList( SLink &L)
{
// 销毁以L为头指针的单链表,释放链表中所有结点空间
while (L)
{
p = L;
L = L->next;
delete p;
} // while
L = NULL;
} // DestroyList
为什么要有L = NULL这一句,谢谢!
...全文
58
8
打赏
收藏
求助一数据结构的问题!
void DestroyList( SLink &L) { // 销毁以L为头指针的单链表,释放链表中所有结点空间 while (L) { p = L; L = L->next; delete p; } // while L = NULL; } // DestroyList 为什么要有L = NULL这一句,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
caoyun
2003-08-20
打赏
举报
回复
我同意BlueSky2008() 的看法,我也认为L在被定义为空前就已经为空的了`~~
寻开心
2003-08-19
打赏
举报
回复
是没必要,退出while循环的时候,L就已经是NULL指针了。
chinaJeff
2003-08-19
打赏
举报
回复
但这是一个单链表,释放到最后一个结点时L->next已经是NULL,所以L赋值为NULL
而结束循环,那最后的L = NULL不就多余了吗?
「已注销」
2003-08-19
打赏
举报
回复
我比较赞同 wlpwind(同风起)的看法,这并不只是一个习惯的问题,你写程序写多了,就知道这样的小处对于一个程序来说是多么重要。
wlpwind
2003-08-19
打赏
举报
回复
当然要用。
这样就可以用L的值来判断链表是否为空,提高程序的健壮性。
比如你的这段程序,多次调用destroylist都不会有问题;但如果没有l=NULL,第二次调用会出现非法访问的问题。
BlueSky2008
2003-08-19
打赏
举报
回复
确实不需要有L = NULL;这一句。
不过很多书上总是这么说教:
"指针不用了,一定要赋值为NULL
这是一种好的习惯..."
所以一大家就都这么用了。
所以你要是不这么用,马上就会有人跳出来说你编程习惯不好,不正规云云。
至于为什么要这么用呢?
因为还有一个"好的习惯":
"指针在用之前,一定要检查是不是NULL..."
所以如果你遵守了这两个习惯,当你犯一些关于指针的错误时,就比较容易发现。
这就像一个人说:“我总是要杀人的,不如带把钝刀,杀人就不容易杀死,犯的罪也会小点。”
haha,有意思吗,没意思吗?
heartup
2003-08-19
打赏
举报
回复
炼表既然空了,当然要有一个标志呀,这就是头指针为0,如果不为0,就意味着链表还存在,这样岂不是大错特错了?
treeforest
2003-08-19
打赏
举报
回复
退出循环时L=NULL,感觉是没有必要。不过算法只是为了说明清楚一些,也没什么大碍的。
算法技术手册 - 中文版
《算法技术手册》内容简介:开发健壮的软件需要高效的算法,然后程序员们往往直至
问题
发生之时,才会去
求助
于算法。《算法技术手册》讲解了许多现有的算法,可用于解决各种
问题
。通过阅读它,可以使您学会如何选择和实现正确的算法,来达成自己的目标。另外,书中的数学深浅适中,足够使您可以了解并分析算法的性能。 较之理论而言,《算法技术手册》更专注于应用。《算法技术手册》提供了高效的代码解决方案,使用多种语言进行编写,让您可以轻松地将其应用于特定的工程当中。通过《算法技术手册》,您可以: · 解决特定代码的
问题
,或者提升既有解决方案的性能 · 快速找到与您所解决的
问题
相关的算法,并决定哪个算法才是最适合的那一个 · 探索使用C、C++、Java以及Ruby实现的算法解决方案以及开发小贴士 · 了解算法预期的性能,以及它达到最高性能时所需要的条件 · 发现不同算法之间相似的设计哲学 · 学习高级
数据结构
,来提升算法的性能 通过《算法技术手册》,您能学到如何提升算法的性能,这将是您的软件应用程序走向成功的关键。
数据结构
求助
大佬们!vc++6.0编译器
求助
大佬们! 大佬们有一道
问题
请您们解答一下可以么 求大佬们帮帮忙
如何提升你的
数据结构
、算法以及解决
问题
的能力
如何提升你的
数据结构
、算法以及解决
问题
的能力 这篇文章借鉴了我过去在学校一个学期的个人经历和挑战,当我进入学校的时候,我对任何 DSA(
数据结构
和算法)和解决
问题
的策略几乎一无所知。作为一名自学成才的程序员,我对一般编程会更加熟悉和舒适,例如面向对象编程,而不是 DSA
问题
所需要的解决
问题
的能力。 这篇文章反映了我整个学期的经历,并包含了为了快速提高
数据结构
、算法和解决
问题
的能力而
求助
的资源。 ...
[译]如何提升你的
数据结构
、算法以及解决
问题
的能力
如何提升你的
数据结构
、算法以及解决
问题
的能力 这篇文章借鉴了我过去在学校一个学期的个人经历和挑战,当我进入学校的时候,我对任何 DSA(
数据结构
和算法)和解决
问题
的策略几乎一无所知。作为一名自学成才的程序员,我对一般编程会更加熟悉和舒适,例如面向对象编程,而不是 DSA
问题
所需要的解决
问题
的能力。 这篇文章反映了我整个学期的经历,并包含了为了快速提高
数据结构
、算法和解决
问题
的能力而
求助
的资源。...
c语言链表如何插入数据,在链表中插入数据!
求助
!!!
该楼层疑似违规已被系统折叠隐藏此楼查看此楼include#includestructstudent{intdata;structstudent*next;};voidmain(){intn=0;structstudent*head,*p1,*p2,*p,*q;p1=p2=(structstudent*)malloc(sizeof(structstudent));scan...
数据结构与算法
33,007
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章