This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以节点来表示的,每个节点的构成:data域(数据元素)+next域(下一个结点的存储位置)
单链表与数组相比的最大差别是:单链表的数据元素存放在内存空间的地址是不连续的,而数组的数据元素存放的地址在内存空间中是连续的,这也是为什么根据索引无法像数组那样直接就能查询到数据元素。
对于单链表的这种特殊结构,我们可以用“火车”来类比,假设一节车厢可以存储一个数据元素,当数据不够时,就新增一节车厢挂载在火车尾。在遍历时,只能从头部车厢开始遍历,依次走到尾部(即单向遍历,默认从前向后)
![[Pasted image 20221207183805 1.png]]
总结:1.只能在队尾添加元素,并且只能从头部开始遍历 2.在内存中的地址是随机非连续的 3.每个节点都必须记录下个节点的存储位置
难点:1.如何查找上一个节点,需要从头开始遍历,下标-1 2. 如何插入节点,需要找到找到上一个节点,将上一个节点的NEXT节点作为待插入节点的NEXT节点,然后将待插入节点作为上一个节点新的NEXT节点