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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

以下程序是關(guān)于linkedlist中的addfirst()的問題,麻煩知道的幫忙看一下~

以下程序是關(guān)于linkedlist中的addfirst()的問題,麻煩知道的幫忙看一下~

桃花長相依 2022-01-18 15:11:17
publicvoidaddFirst(Ee){addBefore(e,header.next);}、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、privateEntry<E>addBefore(Ee,Entry<E>entry){Entry<E>...
查看完整描述

1 回答

?
繁花如伊

TA貢獻2012條經(jīng)驗 獲得超12個贊

LinkedList里儲存的其實是Entry而不僅僅是外面看上去的元素,每個Entry里有三個元素:值本身,排在這個Entry前的那個Entry,排在這個Entry后的那個Entry。表里的所有Entry就這樣前后一個鉤一個連在一起,這就是為什么這種List叫LinkedList的原因。

現(xiàn)在已經(jīng)有一個LinkedList了,我要往里加一個新元素,而且指定要加在某Entry(我們叫它x,程序里它叫entry)之前,也就是要插在x和x前面那個Entry(我們叫它y,也就是x.previous)之間,那么新的Entry是怎么樣的呢?它里面的三個元素是新元素值(e),它前面的那個Entry(自然是y),它后面那個Entry(自然是x),所以有這句
Entry<E> newEntry = new Entry<E>(e, entry, entry.previous);
有了這句還不夠,還得把原來y和x之間的連接敲斷,重新接到這個新加的Entry上。newEntry.previous(就是y)的后一個Entry就是新Entry:
newEntry.previous.next = newEntry;
而newEntry.next(就是x)的前一個Entry也是新Entry:
newEntry.next.previous = newEntry;

查看完整回答
反對 回復(fù) 2022-01-23
  • 1 回答
  • 0 關(guān)注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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