一、什么是链表
链表是一个线性数据结构,包含一个元素序列,这样每个元素都可以引用序列中的下一个元素。
链接列表中的每个元素称为“节点”。 每个节点都包含一个数据元素和一个下一个Node,它指向链表中的下一个节点。在链表中,我们可以根据需要创建任意数量的节点。
二、链表的意义
比如数组,具有某些局限性:它们本质上是静态的,因此它们的大小无法更改。他们需要连续的内存来存储其值。所以链表可以:
1.动态内存分配,即编译器在运行时完成内存分配。
2.每个单独的节点可以具有任何内存块,并且通过该块的地址链接到其他节点,因此不需要连续的内存块。
3.内存分配图
代码:
注意:第二个图中,22行代码中判断tempNode是否不为空(null)后面不能加:.next。因为加了后最后一个就不走输出了,如图: