3 回答

TA貢獻(xiàn)361條經(jīng)驗(yàn) 獲得超328個(gè)贊
我調(diào)試了一下你的代碼。你的代碼的執(zhí)行結(jié)構(gòu)是這樣的。
其中的next結(jié)構(gòu)如下:
每個(gè)next中都有一個(gè)next結(jié)構(gòu)。
if(this.next==null){ //?如果下一個(gè)節(jié)點(diǎn)為空,則把新節(jié)點(diǎn)設(shè)置在next的位置上 this.next?=?newNode?; }else{ //?如果不為空,則需要向下繼續(xù)找next this.next.add(newNode)?; }
所以this.next.add(newNode);就是說(shuō)(這個(gè)還不好描述呢)next位置上的節(jié)點(diǎn)有數(shù)據(jù),那么他就繼續(xù)往下找next,然后把你傳過(guò)來(lái)的數(shù)據(jù),添加到一個(gè)新節(jié)點(diǎn)上。(這個(gè)新節(jié)點(diǎn)里面又有一個(gè)next,這大概就是單向鏈表的思想吧,猜測(cè))。

TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超0個(gè)贊
單向鏈表,簡(jiǎn)單講其實(shí)就是 判斷有沒(méi)有根節(jié)點(diǎn) 沒(méi)有就添加? 有就一路next
this.next.add(newNode);? 就是個(gè)遞歸調(diào)用? 簡(jiǎn)單點(diǎn)講就是如果有下一個(gè)元素 就循環(huán)添加下一個(gè)元素
這里的this跟樓上說(shuō)的一樣,就是當(dāng)前節(jié)點(diǎn)的意思,也可以理解為下一個(gè)節(jié)點(diǎn)的上一個(gè)節(jié)點(diǎn)
this.next.print(); 同理

TA貢獻(xiàn)361條經(jīng)驗(yàn) 獲得超328個(gè)贊
this關(guān)鍵字,誰(shuí)調(diào)用它就代表誰(shuí),你的程序里面的this.next.add(newNode);this.next.print();中的this都是代表的l(Link l = new Link() )對(duì)象。
添加回答
舉報(bào)