作者pim79979 (~窝窝~)
看板java
标题[问题] 关於链结串列的值
时间Tue Aug 24 00:12:45 2010
小弟正在自学JAVA
研究了好几天的链结串列
这个值的部分始终看不是很懂
public Node input()
{
Node eq = null, prev = null;
String temp;
Scanner into = new Scanner(System.in);
int i = 0;
while(true)
{
ptr = new Node();
ptr.next = null;
i++;
System.out.print("请输入第"+i+"个数字");
ptr.data = into.nextInt();
if(ptr.data == 0)
return eq;
if(eq == null)
eq = ptr;
else
prev.next = ptr;
prev = ptr;
}
}
我不懂为什麽要回传的值是eq耶
看起来回传prev或者是ptr都可以阿
而且我测试了一下ptr和prev都没有记录全部的值耶
只有eq有记录
可以请教一下是为什麽嘛!?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.244.170.5
1F:→ ericinttu:当使用者第一次输入数字1时, eq, ptr, prev 指到什麽? 08/24 00:22
2F:→ ericinttu: 第二次输入数字2时, eq, ptr, prev 指到什麽? 08/24 00:23
3F:推 nvidia:不回传eq要回传谁?? 08/24 00:24
4F:推 nvidia:eq是Node的头 08/24 00:29
5F:推 bala045:传回第一个node 第一个就是eq 如果输入0就结束的话 08/24 02:11
6F:→ pim79979:可是不是只有第一次输入的时候eq等於null接下来ptr的值 08/24 22:11
7F:→ pim79979:不都传到prev里吗 eq,ptr,prev不都自己是一个链结串列!? 08/24 22:16
8F:推 nvidia:你知道linkedlist在干麽吗 08/24 23:30
9F:→ pim79979:我的Node是一个链结串列 不里面他的next都会指向下Node吗 08/25 00:23
10F:→ pim79979:所以我每个设成Node的变数不都会各自成为个链结串列吗!? 08/25 00:26
11F:推 nvidia:ptr在每个LOOP都有变动 只有ep没有 08/25 00:40
12F:→ nvidia:所以当然不会纪录全部的值阿! 08/25 00:41
13F:→ nvidia:建议你画个图来演绎! 08/25 00:53
14F:→ pim79979:我不懂是 eq只有一开始有接到值後来接的都是prev 08/25 21:55
15F:→ pim79979:那eq的值是怎麽传过去的 不好意思 对链结串列不是很懂 08/25 21:58
17F:推 nvidia:最简单的方法是用IDE的DEBUGGER设定breakpoint跑 08/25 23:04
18F:→ ericinttu:你可以分别画出输入3次资料时的状态图吗? 一直鬼打墙... 08/26 09:50