1. 程式人生 > >LinkList簡單認識

LinkList簡單認識

1.從原始碼角度簡單認識

分析:可以看出LinkList定義兩個指標,分別為頭指標和尾指標。但是在原始碼裡面頭指標和尾指標分別被transient修飾。為什麼需要被transient修飾,請看在java陣列的講解。

這裡主要定義Node型別

新增尾部節點

分析:

1.首先儲存原來的尾部節點

2.產生新節點,並且讓新節點指向尾節點

3.移動尾部節點

4.進行判斷,儲存的為節點是否為null,如果是的話,頭即是尾,尾即是頭,不然就是讓儲存的尾節點指向新節點

新增頭部節點

新增在某個節點之前

1. 把要插入在某個節點的資訊取出來

2. 產生要插入的節點

3. 對插入節點之前的節點進行判斷,如果為空的話,就說明這個節點為頭節點,否則,就讓插入節點之前的節點指向要插入節點,在讓要插入節點之後的節點指向要插入節點

拆分頭節點

1 首先對要拆分頭結點的下一個節點資訊進行儲存

2 把要拆分節點的e,next賦值為null

3 讓頭結點指向儲存的節點

4. 判斷儲存的節點是否為null,如果是null說明尾節點是null,否則讓next的頭指標為null

拆分尾節點

拆分節點

1. 首先取出這個節點的頭指標和尾指標

2. 對頭指標進行判斷,如果頭指標尾空的話,說明要的拆分的是頭指標,否則的話,就讓拆分前面的節點指向後面的節點

3. 對尾指標進行判斷,如果尾指標尾空的話,說明要的拆分的是尾指標,否則的話,就讓拆分後面的節點指向前面的節點