1.链表
链表,顾名思义,就是把封装的数据通过“链”,连接起来。那么为什么要用“链”呢,这是因为它们之中的存贮位置是不一定连续的,为了能找到下一个位置,需要用每个元素的next来找到下一个元素的地址。那么这个“链”是什么呢?其实就是每个当前元素的next存放下一个元素的地址,以这样的方式来找到并能够遍历一整串的元素。
那么好端端的为什么不用顺序存储结构呢(顺序更容易理解),我们分析之后得出:
- 顺序存储结构:
1.顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一);
2.要求内存中可用存储单元的地址必须是连续的。
3.顺序表的存储空间是静态分配的
优点:存储空间利用率高,查改时方便。
缺点:插入或删除元素时不方便。
- 链式存储结构:
1.链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
2.链表的存储空间是动态分配的
优点:插入或删除元素时很方便,使用灵活。
缺点:存储空间利用率低,查改时不变。
ps:由此得出,不同情况下,有着不同的选择方式,如果操作数据过于频繁,就偏向使用链式存储结构,如果查找数据比较频繁,则使用顺序存储结构。