Skip to content

Commit

Permalink
更新 链表基础知识 相关图片、图片标题
Browse files Browse the repository at this point in the history
  • Loading branch information
itcharge committed May 9, 2024
1 parent 50623e1 commit e39813b
Showing 1 changed file with 9 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

以单链表为例,链表的存储方式如下图所示。

![](https://qcdn.itcharge.cn/images/20211208180037.png)
![链表](https://qcdn.itcharge.cn/images/202405092229936.png)

如上图所示,链表通过将一组任意的存储单元串联在一起。其中,每个数据元素占用若干存储单元的组合称为一个「链节点」。为了将所有的节点串起来,每个链节点不仅要存放一个数据元素的值,还要存放一个指出这个数据元素在逻辑关系上的直接后继元素所在链节点的地址,该地址被称为「后继指针 $next$」。

Expand All @@ -28,15 +28,15 @@
- **双向链表特点**:从双链表的任意一个节点开始,都可以很方便的访问它的前驱节点和后继节点。

![](https://qcdn.itcharge.cn/images/20211208103220.png)
![双向链表](https://qcdn.itcharge.cn/images/202405092230869.png)

### 1.3 循环链表

> **循环链表(Circular linked list)**:链表的一种。它的最后一个链节点指向头节点,形成一个环。
- **循环链表特点**:从循环链表的任何一个节点出发都能找到任何其他节点。

![](https://qcdn.itcharge.cn/images/20211208180048.png)
![循环链表](https://qcdn.itcharge.cn/images/202405092230094.png)

接下来我们以最基本的「单链表」为例,介绍一下链表的基本操作。

Expand Down Expand Up @@ -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)

**「链表头部插入元素」** 的代码如下:

Expand All @@ -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)

**「链表尾部插入元素」** 的代码如下:

Expand All @@ -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)

**「链表中间插入元素」** 的代码如下:

Expand Down Expand Up @@ -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)

**「链表头部删除元素」** 的代码如下:

Expand All @@ -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)

**「链表尾部删除元素」** 的代码如下:

Expand All @@ -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)

**「链表中间删除元素」** 的代码如下:

Expand Down

0 comments on commit e39813b

Please sign in to comment.