From e39813b495257b085640e72c3346e488c7d7868c Mon Sep 17 00:00:00 2001 From: ITCharge Date: Thu, 9 May 2024 22:37:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20=E9=93=BE=E8=A1=A8?= =?UTF-8?q?=E5=9F=BA=E7=A1=80=E7=9F=A5=E8=AF=86=20=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E3=80=81=E5=9B=BE=E7=89=87=E6=A0=87=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../01.Linked-List-Basic.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Contents/02.Linked-List/01.Linked-List-Basic/01.Linked-List-Basic.md b/Contents/02.Linked-List/01.Linked-List-Basic/01.Linked-List-Basic.md index c0fef36e..84ad3f7f 100644 --- a/Contents/02.Linked-List/01.Linked-List-Basic/01.Linked-List-Basic.md +++ b/Contents/02.Linked-List/01.Linked-List-Basic/01.Linked-List-Basic.md @@ -8,7 +8,7 @@ 以单链表为例,链表的存储方式如下图所示。 -![](https://qcdn.itcharge.cn/images/20211208180037.png) +![链表](https://qcdn.itcharge.cn/images/202405092229936.png) 如上图所示,链表通过将一组任意的存储单元串联在一起。其中,每个数据元素占用若干存储单元的组合称为一个「链节点」。为了将所有的节点串起来,每个链节点不仅要存放一个数据元素的值,还要存放一个指出这个数据元素在逻辑关系上的直接后继元素所在链节点的地址,该地址被称为「后继指针 $next$」。 @@ -28,7 +28,7 @@ - **双向链表特点**:从双链表的任意一个节点开始,都可以很方便的访问它的前驱节点和后继节点。 -![](https://qcdn.itcharge.cn/images/20211208103220.png) +![双向链表](https://qcdn.itcharge.cn/images/202405092230869.png) ### 1.3 循环链表 @@ -36,7 +36,7 @@ - **循环链表特点**:从循环链表的任何一个节点出发都能找到任何其他节点。 -![](https://qcdn.itcharge.cn/images/20211208180048.png) +![循环链表](https://qcdn.itcharge.cn/images/202405092230094.png) 接下来我们以最基本的「单链表」为例,介绍一下链表的基本操作。 @@ -157,7 +157,7 @@ def find(self, val): > 2. 然后将 $node$ 的 $next$ 指针指向链表的头节点 $head$。 > 3. 再将链表的头节点 $head$ 指向 $node$。 -![](https://qcdn.itcharge.cn/images/20211208180101.png) +![链表头部插入元素](https://qcdn.itcharge.cn/images/202405092231514.png) **「链表头部插入元素」** 的代码如下: @@ -180,7 +180,7 @@ def insertFront(self, val): > 3. 通过链节点的 $next$ 指针移动 $cur$ 指针,从而遍历链表,直到 $cur.next$ 为 $None$。 > 4. 令 $cur.next$ 指向将新的链节点 $node$。 -![](https://qcdn.itcharge.cn/images/20211208180111.png) +![链表尾部插入元素](https://qcdn.itcharge.cn/images/202405092232023.png) **「链表尾部插入元素」** 的代码如下: @@ -207,7 +207,7 @@ def insertRear(self, val): > 5. 将 $node.next$ 指向 $cur.next$。 > 6. 然后令 $cur.next$ 指向 $node$。 -![](https://qcdn.itcharge.cn/images/20211208180121.png) +![链表中间插入元素](https://qcdn.itcharge.cn/images/202405092232900.png) **「链表中间插入元素」** 的代码如下: @@ -274,7 +274,7 @@ def change(self, index, val): > > 1. 直接将 $self.head$ 沿着 $next$ 指针向右移动一步即可。 -![](https://qcdn.itcharge.cn/images/20211208180131.png) +![链表头部删除元素](https://qcdn.itcharge.cn/images/202405092231281.png) **「链表头部删除元素」** 的代码如下: @@ -294,7 +294,7 @@ def removeFront(self): > 1. 先使用指针变量 $cur$ 沿着 $next$ 指针移动到倒数第 $2$ 个链节点。 > 2. 然后将此节点的 $next$ 指针指向 $None$ 即可。 -![](https://qcdn.itcharge.cn/images/20211208180138.png) +![链表尾部删除元素](https://qcdn.itcharge.cn/images/202405092232050.png) **「链表尾部删除元素」** 的代码如下: @@ -319,7 +319,7 @@ def removeRear(self): > 1. 先使用指针变量 $cur$ 移动到第 $i - 1$ 个位置的链节点。 > 2. 然后将 $cur$ 的 $next$ 指针,指向要第 $i$ 个元素的下一个节点即可。 -![](https://qcdn.itcharge.cn/images/20211208180144.png) +![链表中间删除元素](https://qcdn.itcharge.cn/images/202405092233332.png) **「链表中间删除元素」** 的代码如下: