第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

求解,關(guān)于單向鏈表的問(wèn)題。

求解,關(guān)于單向鏈表的問(wèn)題。

Beaten丶 2016-01-11 17:00:57
class Link{ // 鏈表的完成類 class Node{ // 保存每一個(gè)節(jié)點(diǎn),此處為了方便直接定義成內(nèi)部類 private String data ; // 保存節(jié)點(diǎn)的內(nèi)容 private Node next ; // 保存下一個(gè)節(jié)點(diǎn) public Node(String data){ this.data = data ; // 通過(guò)構(gòu)造方法設(shè)置節(jié)點(diǎn)內(nèi)容 } public void add(Node newNode){ // 將節(jié)點(diǎn)加入到合適的位置 if(this.next==null){ // 如果下一個(gè)節(jié)點(diǎn)為空,則把新節(jié)點(diǎn)設(shè)置在next的位置上 this.next = newNode ; }else{ // 如果不為空,則需要向下繼續(xù)找next this.next.add(newNode) ; } } public void print(){ System.out.print(this.data + "\t") ; // 輸出節(jié)點(diǎn)內(nèi)容 if(this.next!=null){ // 還有下一個(gè)元素,需要繼續(xù)輸出 this.next.print() ; // 下一個(gè)節(jié)點(diǎn)繼續(xù)調(diào)用print } } }; private Node root ; // 鏈表中必然存在一個(gè)根節(jié)點(diǎn) public void addNode(String data){ // 增加節(jié)點(diǎn) Node newNode = new Node(data) ; // 定義新的節(jié)點(diǎn) if(this.root==null){ // 沒(méi)有根節(jié)點(diǎn) this.root = newNode ; // 將第一個(gè)節(jié)點(diǎn)設(shè)置成根節(jié)點(diǎn) }else{ // 不是根節(jié)點(diǎn),放到最后一個(gè)節(jié)點(diǎn)之后 this.root.add(newNode) ; // 通過(guò)Node自動(dòng)安排此節(jié)點(diǎn)放的位置 } } public void printNode(){ // 輸出全部的鏈表內(nèi)容 if(this.root!=null){ // 如果根元素不為空 this.root.print() ; // 調(diào)用Node類中的輸出操作 } } };public class LinkDemo02{ public static void main(String args[]){ Link l = new Link() ; l.addNode("A") ; // 增加節(jié)點(diǎn) l.addNode("B") ; // 增加節(jié)點(diǎn) l.addNode("C") ; // 增加節(jié)點(diǎn) l.addNode("D") ; // 增加節(jié)點(diǎn) l.addNode("E") ; // 增加節(jié)點(diǎn) System.out.println("======= 刪除之前 ========") ; l.printNode() ; }};代碼中的? this.next.add(newNode);this.next.print();是什么意思?。?
查看完整描述

3 回答

已采納
?
Its_forever

TA貢獻(xiàn)361條經(jīng)驗(yàn) 獲得超328個(gè)贊

http://img1.sycdn.imooc.com//56937f7200017e5007290424.jpg

我調(diào)試了一下你的代碼。你的代碼的執(zhí)行結(jié)構(gòu)是這樣的。

56937fe800017fad05000096.jpg

其中的next結(jié)構(gòu)如下:

56937fe80001b4ab05000154.jpg

每個(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è))。

查看完整回答
2 反對(duì) 回復(fù) 2016-01-11
?
任性的源代碼

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(); 同理

查看完整回答
反對(duì) 回復(fù) 2016-01-11
?
Its_forever

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ì)象。

查看完整回答
反對(duì) 回復(fù) 2016-01-11
  • 3 回答
  • 1 關(guān)注
  • 1642 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)