java中问题

alex_chao 2009-11-23 07:48:11
这是java中的一段代码(这是java版的顺序表中的一个方法):
public void clear()
{
if (this.n!=0)
{
for (int i=0; i<this.n; i++)
this.table[i] = null;
this.n=0;
}
}
我想问的是为什么不直接将this.n=0;而是先要将this.table[i]=null;希望有高手可以给我解释下;
不好意思我是新手希望大家可以免费帮我一把有分我在散谢谢了!
...全文
137 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿杰心路历程 2009-12-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fever87 的回复:]
table[]中的内容才是要清空的元素,n只是链表的长度啊!
如果直接将长度改为0,但是table[]中的元素依旧存在,可能暂用空间!
[/Quote]
3楼说的是原因之一。。 其实this.n=0;的话其实也不会影响到整个数据结构的,只不过内存中没清空而已。
keeya0416 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 power19994894 的回复:]
我看你这段代码的名字叫clear,它写的意思就是想清空线性表,this.n=0只是说把线性表的长度设为0,但里边的每个元素还需要清空,this.table[i]=null就是清空线性表里的每一个元素。
[/Quote]
同意这位兄弟的.
fever87 2009-11-28
  • 打赏
  • 举报
回复
table[]中的内容才是要清空的元素,n只是链表的长度啊!
如果直接将长度改为0,但是table[]中的元素依旧存在,可能暂用空间!
rebirth2009 2009-11-28
  • 打赏
  • 举报
回复
先清空table,再将n置为0,可能更安全吧……
power19994894 2009-11-27
  • 打赏
  • 举报
回复
我看你这段代码的名字叫clear,它写的意思就是想清空线性表,this.n=0只是说把线性表的长度设为0,但里边的每个元素还需要清空,this.table[i]=null就是清空线性表里的每一个元素。

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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