關於java實現連結串列的問題,求高手解惑啊

時間 2021-09-05 12:00:54

1樓:左手編碼

while (p != null)

解釋下你為什麼錯了:

q=p;

q.next=rev.header;

rev.header=q;

p=p.next;

第一步:q=p;這兩個同時指向一個node。

第二步:q.next=rev.

header;將當前node的next指向新連結串列的頭。但是,此時p的next也指向了這個新連結串列的頭。這就導致了沒有入口通向我們原來的連結串列了。

第三步:rev.header=q;調整新連結串列頭的位置為第一個node。

此時,p,q,rev.header同時指向一個node,就是這個新連結串列的頭。我們現在已經完全和目標連結串列失去了聯絡。

第四步:p=p.next;p指向了link rev = new link(0);最初的頭結點。

如此迴圈,表中只有兩個資料在不停地加到新連結串列中,分別是兩個連結串列的頭。

2樓:匿名使用者

static link reverse(link x)return rev;*/

node q = x.header.next, r;

x.header.next=null;

while (q!=null)

return x;}

關於連結串列的問題,一個關於連結串列的問題

以下是我寫的關於連結串列的一個類模版,實現了插入結點,刪除結點,將連結串列倒轉等功能,直接包含在主函式的檔案裡就可以用了 link.h ifndef link h define link h include template class link template class node templa...

關於java迴圈語句的問題,關於Java迴圈語句的問題

1 while迴圈語句有入口條件,而do while語句沒有入口條件。2 while迴圈語句在程式執行語句過程中可能一次也不執行,而do while迴圈語句至少被執行一次。3 語法不同。while 迴圈條件 do 迴圈操作 while 迴圈條件 while 語句會首先判斷條件是否成立?如果條件成立了...

急求關於二叉連結串列問題的演算法題,急求一個關於二叉連結串列問題的演算法題

1 求結點數的遞迴定義為 若為空樹,結點數為0 若只有根結點,則結點數為1 否則,結點數為根結點的左子樹結點數 右子樹結點數 1 2 求葉子數的遞迴定義為 若為空樹,葉子數為0 若只有根結點,則葉子數為1 否則,葉子數為根結點的左子樹葉子數 右子樹葉子數typedef char datatype 定...