Skip to content

Commit b1d98e9

Browse files
committed
update images
1 parent ffc9cf8 commit b1d98e9

File tree

1 file changed

+30
-28
lines changed

1 file changed

+30
-28
lines changed

content/09-datastruct-algorithm/02-linear-list.md

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -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

198200
tips:
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

242244
tips:
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

Comments
 (0)