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