作者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