1 、链式存储概念
(1)顺序存储:
我们所学的数组是一种连续的顺序存储方式,知道了数组某一个元素的地址,由于连续,则可以通过地址的计算能够算出每一个元素的地址。
(2)链式存储:
该方式是每个单元的存储位置是不连续的,随机的,但是可以通过在前一个存储单元中记录下一个存储单元的地址来把所有的存储单元联系起来,就像生活中的链条一样一环套一环,每个存储单元我们叫做节点。
每个节点可以分为两部分,数据域和地址域,数据域用来存储相关数据,地址域用来存储下一个节点的地址
如下图:
节点1 地址为 0x90, 存储数据1;
节点2 地址为 0x20,存储数据2;
节点3 地址为 0x40,存储数据3;
节点4 地址为 0x70,存储数据4;
通过节点1可以找到节点2的地址,找到节点2的地址就能找到节点3的地址,从而找到节点4的地址,这样逻辑上的链表就建成了。
2、代码实现模型
(1) 建立模型一
首先定义结构体s_node ,成员有两个,一个用来存放数据,一个用来存放地址。