反轉單向鍊錶 java 語言實現

2021-07-11 09:02:50 字數 1123 閱讀 7267

/**

* 演示翻轉鍊錶的兩種典型實現,使用泛型。

* *@author shan

*@create 2016-09-01 11:46

*/public

class

reversesinglylist

nodenewhead = reverse(current.getnextnode());

current.getnextnode().setnextnode(current);

current.setnextnode(null);

return newhead;

}/**

* 迭代,將當前節點的下乙個節點快取後更改當前節點指標

*@param current

*@param

*@return

*/public

static

nodereverse2(nodecurrent)

nodepre = current;

nodecur = current.getnextnode();

while(cur != null)

current.setnextnode(null);

return pre;

}/**

* 順序列印煉表中的值

*@param current

*@param

*/public

static

void

printlist(nodecurrent)

system.out.println();

}@test

public

void

testreverse()

printlist(head);

nodenewhead = reverse(head);

printlist(newhead);

}@test

public

void

testreverse2()

printlist(head);

nodenewhead = reverse2(head);

printlist(newhead);

}}

反轉鍊錶 C語言實現

題目要求 在o n 的時間內反轉鍊錶,並返回反轉後鍊錶的頭指標。分析 求解鍊錶問題首先一定要考慮非空問題,而且要注意終止的位置。如圖所示,反轉的時候定義三個節點,pcur代表當前節點 pnext代表指向的下乙個節點 ppre代表前乙個節點。有了這三個節點就可以從前往後遍歷,而且保證鍊錶不會斷裂!in...

C語言實現的單向鍊錶

file gm slink.h brief 提供了常用的單向鍊錶操作介面 author don hao date 2011 8 21 9 38 03 version email hao.limin gmail.com company modification write modifications ...

單向迴圈鍊錶C語言實現

我們都知道,單向鍊錶最後指向為null,也就是為空,那單向迴圈鍊錶就是不指向為null了,指向頭節點,所以下面這個程式執行結果就是,你將會看到遍歷鍊錶的時候就是乙個死迴圈,因為它不指向為null,也是周而復始的執行。串成了乙個環型。include include typedef struct nod...