[理工][計概]有關Link list的問題

看板Grad-ProbAsk作者 (Rae)時間13年前 (2012/11/16 00:36), 編輯推噓6(6020)
留言26則, 5人參與, 最新討論串1/1
以下為在一link list中插入一個node於x node之前的pseudo code 設所插入之資料為item (此為洪逸計概之上課筆記內容) { Node *t = new Node(); t→link = x→link; x→link = t; t→data = x→data; x→data = item; x→t; } 前面都沒問題 只是最後那邊x→t那行搞不清楚是想表達什麼 不是到x→data = item這邊就可以了嗎? 哪位大大麻煩可以解說一下嗎@@? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.179.103

11/16 00:43, , 1F
為了讓指標指向串列的第一個節點
11/16 00:43, 1F

11/16 00:56, , 2F
意思是讓指標x指回有原data的node嗎?
11/16 00:56, 2F

11/16 01:07, , 3F
我試看看好了...錯的很誇張請見諒@@
11/16 01:07, 3F

11/16 01:10, , 4F
我覺得應該是加在x node後 , 然後把新的item給到x , 然後x的
11/16 01:10, 4F

11/16 01:10, , 5F
Data給插在後面t的Data.
11/16 01:10, 5F

11/16 01:12, , 6F
以上是看code和你說的 , 如果會錯意,以下可以省略不看...
11/16 01:12, 6F

11/16 01:15, , 7F
所以原本指標指在x , 現在在x後加了node , 所以指標往後移
11/16 01:15, 7F

11/16 01:16, , 8F
動指到新加的node的地方. 有說錯的話先說抱歉...
11/16 01:16, 8F

11/16 01:19, , 9F
同意樓上 是說 寫x=t會不會比較好?
11/16 01:19, 9F

11/16 01:20, , 10F
另外到x->data=item這邊 , 只是將串列(data和link)建立好 ,
11/16 01:20, 10F

11/16 01:21, , 11F
但指標還是要移動到下一個node的位置才行
11/16 01:21, 11F

11/16 01:23, , 12F
x=t應該比較難表示它是一個指標 , 然後指向t吧..
11/16 01:23, 12F

11/16 01:26, , 13F
x和t兩個都是指標應該很清楚吧 不然前面也不會那樣寫
11/16 01:26, 13F

11/16 01:32, , 14F
恩恩 , 應該可以那樣寫...
11/16 01:32, 14F

11/16 01:38, , 15F
因為這題是要插在X之前 程式碼等於是用T插入串列
11/16 01:38, 15F

11/16 01:39, , 16F
把x的data放到t的data 在把新插入的item放到原本的x
11/16 01:39, 16F

11/16 01:40, , 17F
最後把x的指標移到t
11/16 01:40, 17F

11/16 01:43, , 18F
真正新插入的data其實是放在原本x的位置
11/16 01:43, 18F

11/16 01:43, , 19F
而原本x的data移到新建的t了
11/16 01:43, 19F

11/16 01:44, , 20F
你不把x移到t會變成data放在x所指
11/16 01:44, 20F

11/16 01:46, , 21F
後面又放一個x的data
11/16 01:46, 21F

11/16 12:50, , 22F
大概瞭解了..總之是為了讓之後的程式碼能正確對應x的data
11/16 12:50, 22F

11/16 12:51, , 23F
所以需要將指標x移到指標t所在...這樣解釋沒錯吧?
11/16 12:51, 23F

11/16 12:53, , 24F
忽然想到一個問題...那這樣寫到最後指標t還存在嗎?
11/16 12:53, 24F

11/16 12:56, , 25F
先感謝各位大大了m(_ _)m
11/16 12:56, 25F

11/16 14:06, , 26F
還在 但是不重要 題目只提到x t是我們自己給的
11/16 14:06, 26F
文章代碼(AID): #1GfHe9g9 (Grad-ProbAsk)