菜单
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP 如何操作 W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

DSA 链表

链表顾名思义,是一种节点相互链接的列表。每个节点包含数据和一个指针。它们相互链接的方式是每个节点指向内存中下一个节点的位置。

链表

链表由包含一些数据和指向下一个节点的指针或链接的节点组成。

A singly linked list.

使用链表的一个巨大好处是,节点可以存储在内存中任何可用的空间,节点不必像数组中的元素那样连续存储在一起。链表的另一个好处是,在添加或删除节点时,列表中的其他节点不必移动。


链表与数组

理解链表最好的方法也许是将其与数组进行比较。

链表由我们自己创建的节点组成,是一种线性数据结构,而数组是编程语言中已有的、我们可以使用的现有数据结构。

链表中的节点存储指向其他节点的链接,但数组元素不需要存储指向其他元素的链接。

注意:链表和数组在内存中的存储方式将在 下一页 中更详细地解释。

下表将链表与数组进行比较,以更好地理解链表。

数组 链表
编程语言中已有的数据结构
内存中固定大小
元素或节点在内存中紧邻地存储(连续地)
内存使用率低
(每个节点只包含数据,没有指向其他节点的链接)
元素或节点可以直接访问(随机访问)
元素或节点可以在常数时间内插入或删除,无需在内存中进行移位操作。

为了更详细地解释这些区别,下一页将重点介绍链表和数组在内存中的存储方式。


DSA 练习

通过练习来测试自己

练习

链表中的节点是什么?

Each node in a Linked List 
contains , and a  
to where the next node 
is placed in memory.

开始练习



×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持