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