@@ -112,17 +112,17 @@ tips:
112112- ` typedef struct LNode LNode; `
113113- 之后可以用` LNode ` 代替` struct LNode `
114114
115- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-single-list-base.jpg )
115+ ![ ] ( https://s2.loli.net/2025/09/28/tMzWNrmspafyxj2.png )
116116
117- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-singer-list-create.jpg )
117+ ![ ] ( https://s2.loli.net/2025/09/28/l3txvMGLYHOjnIN.png )
118118
119119不带头节点的单链表
120120
121- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-single-list-nohead.jpg )
121+ ![ ] ( https://s2.loli.net/2025/09/28/vbVcsCI5BoOepZw.png )
122122
123123带头节点的单链表
124124
125- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-single-list-head.jpg )
125+ ![ ] ( https://s2.loli.net/2025/09/28/l7MPuWF5nxHr1RL.png )
126126
127127区别:
128128
@@ -148,21 +148,21 @@ tips:
148148- 找到第i-1个节点,将新节点插入其后
149149- 带有头节点,插入更加方便
150150
151- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-single-list-head-insert.jpg )
151+ ![ ] ( https://s2.loli.net/2025/09/28/2cXngDsUPlbSWZm.png )
152152
153153按位置插入-不带头节点
154154
155155- 若` i != 1 ` ,处理方法跟带头节点一样
156156- ` int j = 1 ` 而非带头节点的0
157157
158- ![ ] ( images/dsa/linear-list-single-list-nohead-insert.jpg )
158+ ![ ] ( https://s2.loli.net/2025/09/28/SxCd6hZiVb8Wzwo.png )
159159
160160指定节点的后插操作
161161
162162- 按位置插入的代码一部分,按位置插入可以调用这个代码
163163- 封装代码,提高复用性
164164
165- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-single-list-insert-next.jpg )
165+ ![ ] ( https://s2.loli.net/2025/09/28/glzd218vybf7N3c.png )
166166
167167
168168指定节点的前操作
@@ -171,10 +171,12 @@ tips:
171171- 方法2: 将新节点连接到指定节点p的后继,接着指定节点p连接新节点s,将p中元素复制到s中,将p中元素覆盖为要插入的元素e
172172
173173方法1
174- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-single-list-insert-prev-1.jpg )
174+
175+ ![ ] ( https://s2.loli.net/2025/09/28/MnXekBlo8VLO6ZS.png )
175176
176177方法2
177- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-single-list-insert-prev-2.jpg )
178+
179+ ![ ] ( https://s2.loli.net/2025/09/28/4L96HXlgqeI5WvO.png )
178180
179181
180182** 删除**
@@ -185,15 +187,15 @@ tips:
185187- 找到第i-1个节点,将其指针指向第i+1个节点,并释放第i个节点
186188
187189
188- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-single-list-delete-locate.jpg )
190+ ![ ] ( https://s2.loli.net/2025/09/28/OKAged8lfU9FV52.png )
189191
190192按指定节点删除
191193
192194- 删除节点p,需要修改前驱节点的next指针,和指定节点的前插操作一样
193195- 方法1: 传入头指针,循环着p的前驱节点
194196- 方法2: 偷天换日,类似于节点的前插
195197
196- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-single-list-delete-node.jpg )
198+ ![ ] ( https://s2.loli.net/2025/09/28/6PzQMS8hEKHcr1g.png )
197199
198200tips:
199201
@@ -204,16 +206,16 @@ tips:
204206- 按位置查找操作,获取表L中第i个位置元素的值
205207- 实际上是单链表的插入中找到i-1部分就是按位置查找
206208
207- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-single-list-locate.jpg )
209+ ![ ] ( https://s2.loli.net/2025/09/28/mJDRupnMGlEWCKZ.png )
208210
209211- 按元素查找,跟按位置查找类似
210212
211- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-single-list-node.jpg )
213+ ![ ] ( https://s2.loli.net/2025/09/28/ErdDn3BMxiXPjlQ.png )
212214
213215
214216** 长度**
215217
216- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-single-list-length.jpg )
218+ ![ ] ( https://s2.loli.net/2025/09/28/WygTGvqiREAPXo5.png )
217219
218220
219221** 创建**
@@ -225,10 +227,10 @@ tips:
225227- 方法2: 增加一个尾指针r,每次插入都让r指向新的表尾节点,时间复杂度为O(n)
226228
227229方法1
228- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-single-list-tail-create-1.jpg )
230+ ![ ] ( https://s2.loli.net/2025/09/28/4zUkPMbZYimFvr2.png )
229231
230232方法2
231- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-single-list-tail-create-2.jpg )
233+ ![ ] ( https://s2.loli.net/2025/09/28/OTjv2ztNM5EYLHA.png )
232234
233235
234236头插法
@@ -237,7 +239,7 @@ tips:
237239- 头插法和单链表后插操作是一样的
238240- ` L->next = NULL ` 可以防止野指针
239241
240- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-single-list-head-create.jpg )
242+ ![ ] ( https://s2.loli.net/2025/09/28/TSRuOFvKXaq62iC.png )
241243
242244tips:
243245
@@ -252,27 +254,27 @@ tips:
252254
253255** 定义**
254256
255- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-double-list-def.jpg )
257+ ![ ] ( https://s2.loli.net/2025/09/28/vGRqsKr6kCA3f2e.png )
256258
257259** 初始化-带头节点**
258260
259- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-double-list-init.jpg )
261+ ![ ] ( https://s2.loli.net/2025/09/28/8wYlHWc1gM2BORQ.png )
260262
261263** 插入**
262264
263265- 如果p节点为最后一个节点,产生空指针的问题
264266- 注意指针的修改顺序
265267
266- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-double-list-insert.jpg )
268+ ![ ] ( https://s2.loli.net/2025/09/28/bBrnh9myAkwFoRx.png )
267269
268270** 删除**
269271
270- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-double-list-delete.jpg )
272+ ![ ] ( https://s2.loli.net/2025/09/28/cDzuMQedZI5XJrA.png )
271273
272274
273275** 遍历**
274276
275- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-double-list-range.jpg )
277+ ![ ] ( https://s2.loli.net/2025/09/28/AuBeCRcxnmy7rP2.png )
276278
277279
278280## 循环链表
@@ -292,7 +294,7 @@ tips:
292294
293295
294296
295- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-cycle-single-list-init.jpg )
297+ ![ ] ( https://s2.loli.net/2025/09/28/v9Gg4xJf7S28myq.png )
296298
297299### 循环双链表
298300
@@ -301,7 +303,7 @@ tips:
301303
302304** 初始化**
303305
304- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-cycle-double-list-init.jpg )
306+ ![ ] ( https://s2.loli.net/2025/09/28/v9Gg4xJf7S28myq.png )
305307
306308
307309
@@ -312,15 +314,15 @@ tips:
312314- 如果p节点尾最后一个节点,因为next节点尾null,p->next->prior=s 会产生空指针的问题
313315- 循环链表规避是因为最后节点的next节点为头节点,因此不会发生此问题
314316
315- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-cycle-list-insert.jpg )
317+ ![ ] ( https://s2.loli.net/2025/09/28/unBQzsg5ZWPFRiG.png )
316318
317319** 删除**
318320
319321- 如何判空
320322- 如何判断节点p是否表尾/表头节点
321323- 如何在表头、表中、表尾插入/删除一个节点
322324
323- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-cycle-list-delete.jpg )
325+ ![ ] ( https://s2.loli.net/2025/09/28/gTwe41vXA8OoLlV.png )
324326
325327
326328## 静态链表
@@ -340,11 +342,11 @@ tips:
340342
341343方法1
342344
343- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-static-list-create-1.jpg )
345+ ![ ] ( https://s2.loli.net/2025/09/28/R9LXVplPwaJdkoj.png )
344346
345347方法2
346348
347- ![ ] ( https://jihulab.com/xnzone/earth-bear/-/raw/master/linear-list-static-list-create-2.jpg )
349+ ![ ] ( https://s2.loli.net/2025/09/28/OPXGgeIb7CzS2Mo.png )
348350
349351### 基本操作
350352
0 commit comments