mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-13 16:49:44 +08:00
deploy
This commit is contained in:
@@ -1768,11 +1768,8 @@
|
||||
|
||||
|
||||
<h1 id="42">4.2. 链表<a class="headerlink" href="#42" title="Permanent link">¶</a></h1>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">引言</p>
|
||||
<p>内存空间是所有程序的公共资源,排除已占用的内存,空闲内存往往是散落在内存各处的。我们知道,存储数组需要内存空间连续,当我们需要申请一个很大的数组时,系统不一定存在这么大的连续内存空间。而链表则更加灵活,不需要内存是连续的,只要剩余内存空间大小够用即可。</p>
|
||||
</div>
|
||||
<p>「链表 Linked List」是一种线性数据结构,其中每个元素都是单独的对象,各个元素(一般称为结点)之间通过指针连接。由于结点中记录了连接关系,因此链表的存储方式相比于数组更加灵活,系统不必保证内存地址的连续性。</p>
|
||||
<p>内存空间是所有程序的公共资源,排除已被占用的内存空间,空闲内存空间往往是散落在内存各处的。上节讲到,<strong>存储数组的内存空间必须是连续的</strong>,当我们需要申请一个非常大的数组时,系统不一定能够分配这么大的连续内存空间。</p>
|
||||
<p>相对地,链表则更加灵活,可以被存储到非连续的内存空间。「链表 Linked List」是一种线性数据结构,其中每个元素都是单独的对象,各个元素(即结点)之间通过指针连接。由于结点中记录了连接关系,因此链表的存储方式相比于数组更加灵活,系统可将结点分散在内存各处,而不必保证内存地址的连续性。</p>
|
||||
<p>链表的「结点 Node」包含两项数据,一是结点「值 Value」,二是指向下一结点的「指针 Pointer」(或称「引用 Reference」)。</p>
|
||||
<p><img alt="链表定义与存储方式" src="../linked_list.assets/linkedlist_definition.png" /></p>
|
||||
<p align="center"> Fig. 链表定义与存储方式 </p>
|
||||
|
||||
Reference in New Issue
Block a user