鏈表又分爲:
單向鏈表:是最簡單的鏈表形式,每個節點包含兩個域,信息域(元素域),連接域,這個連接域指向鏈表中的下一個節點,最後一個節點的連接域指向一個空值
單向循環鏈表
雙向鏈表
今天我們來詳細解釋一下單向鏈表,以及單向鏈表的實現!
首先定義一個單向鏈表的節點的類:
然後創建一個單鏈表的類:
這樣兩個類都已經實現,接下來就是對單向鏈表的操作了!
以下所寫的功能都是在單鏈表類的下面進行操作的!
1.首先實現判斷鏈表是否爲空的功能:
這個功能很簡單,當鏈表爲空的時候,直接返回即可。
2.判斷鏈表的長度:
首先創建一個鏈表對象,這個對象指向的是鏈表的頭節點
初始化一個count,開始while循環,每次count的數量加1,每次變換cur的值,一直到最後一個節點。進行返回。
3.遍歷鏈表
與判斷單鏈表的方法類似,去除了count,添加了一個訪問的代碼。
4.向鏈表頭部添加元素
思路,先創建一個節點對象,因爲鏈表中的每一個節點都有兩個域,一個存儲自己的信息item,還有一個存儲下一個節點的位置信息next。在上面的代碼定義節點類的時候都已經定義好了。我們只用將新定義的節點的連接域next指向原先的頭節點,將鏈表的頭指向新的節點,就是將新節點添加在鏈表的頭部。
代碼如下:
5.在鏈表的尾部添加元素
和向鏈表頭部添加元素類似
思路:首先創建一個新節點;然後判斷鏈表是否爲空,如果爲空,直接將node作爲鏈表的頭部即可。如果不爲空,則一直循環到鏈表的最後一個節點,定義最後一個節點的指向即可。
代碼:
單鏈表還有還好幾個功能,如向指定位置添加元素,刪除元素,查找元素等,這個在下一遍中將會寫出來。