顺序表 基于数组 就是对数组进行相关的操作 进行存储数据
数组有个很大的缺点就是 可能会产生内存浪费
针对数组这一缺点 就产生了链表 链表顾名思义 就是像链条一样将数据串起来
链表是将内存中的小空间利用起来 让内存的利用率提高
但是也产生了很大的缺点 就是不能随机访问 然而数组可以随机访问
这就使链表的访问效率大大降低
链表在内存中的存储是不连续的 但是他的逻辑存储是连续的
因为链表是基于结构体而言的 结构体中不仅存储你想存储的数据而且还存储了下一个数据存储空间的地址(根据你的需要 这里的地址不至一个)
这就是单向非循环链表 逻辑顺序是上图这样子 但是物理存储并不是这样子 肯是将上图节点打乱排列的 但是不影响访问 因为里面有指针
typedef int DateType;//对数据类型进行定义
typedef struct SListNode//链表节点
{
DateType val;
struct SListNode* next;
}SListNode;
如果我们存储数据的话可以做到存多少开辟多少 但是反复的开辟会产生消耗 会浪费时间 但是节省了空间
链表的应用其实就是对结构体的应用 如果对前面的通讯簿掌握不错 这里就是有 如何去访问结构体中的成员变量 “ .”和“->”访问操作符的应用
这篇文章就是带你简单了解顺序表也就是数组 和 链表之间的互补