單鏈表屬於數據結構中的一種基本結構,是一種線性結構,在此使用Java對其中的頭插法以及尾插法進行解釋。數據結構
首先定義好鏈表中的節點類:
ide
其中,data表明節點所存放的數據,next表明指向下一節點學習
對於單鏈表而言其結構以下圖:
視頻
能夠得知在鏈表是以地址索引的方式進行存儲,next就顯得尤其重要,下面介紹兩種易懂的插入方式
①頭插法
原理:將每一個新節點都插在頭節點的前面,並本身成爲頭節點
代碼爲:
blog
原理解釋圖爲:
索引
值得注意的是,當鏈表第一次添加節點時,頭節點爲空,因此第一次操做都是直接被新節點覆蓋,這一原理在任何插入方法都同樣,包括下面將要提到的尾插法。
當存在1個節點時,加入新節點只需將新節點的next指向當前的頭節點,並使新節點覆蓋頭節點,即可以將兩節點鏈起來get
②尾插法:
找到鏈表中最後一個節點,將新節點添加在後面原理
代碼:
方法
原理圖爲:
im
易知在尾插法中,只須要使用一個臨時temp節點複製頭節點以後,一次向後尋找next直到找到尾節點,由於尾節點以後沒有節點,並將尾節點的next指向新節點,就能夠將兩節點鏈起來了
視頻版本能夠移步b站:https://www.bilibili.com/video/BV1fy4y1i7QN/
https://www.bilibili.com/video/BV1Qa411c7uj/
不懂能夠私信或者留言
算是記錄本身的學習過程 加油!