顺序表 和 链表 的区别

顺序表 基于数组 就是对数组进行相关的操作 进行存储数据 

数组有个很大的缺点就是 可能会产生内存浪费 

针对数组这一缺点 就产生了链表 链表顾名思义 就是像链条一样将数据串起来

链表是将内存中的小空间利用起来 让内存的利用率提高 

但是也产生了很大的缺点 就是不能随机访问 然而数组可以随机访问 

这就使链表的访问效率大大降低

链表在内存中的存储是不连续的 但是他的逻辑存储是连续的 

因为链表是基于结构体而言的 结构体中不仅存储你想存储的数据而且还存储了下一个数据存储空间的地址(根据你的需要 这里的地址不至一个)

 这就是单向非循环链表 逻辑顺序是上图这样子 但是物理存储并不是这样子 肯是将上图节点打乱排列的 但是不影响访问 因为里面有指针

typedef int DateType;//对数据类型进行定义

typedef struct SListNode//链表节点
{
	DateType val;
	struct SListNode* next;
}SListNode;

如果我们存储数据的话可以做到存多少开辟多少 但是反复的开辟会产生消耗 会浪费时间 但是节省了空间 

链表的应用其实就是对结构体的应用 如果对前面的通讯簿掌握不错 这里就是有 如何去访问结构体中的成员变量 “ .”和“->”访问操作符的应用 

这篇文章就是带你简单了解顺序表也就是数组 和 链表之间的互补

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸡爱玩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值