数组 链表

数组:

结构在通过索引进行查询数据是效率比较高,而对于数组插入和删除操作则效率比较低,在第一个位置进行插入数据时,其它数据就需要依次后移,而删除一个数据,则该数据后的数据全部前移。

链表:

为了保证数据插入和删除不会影响其它数据的移动,保证线性开销,所以引出了链表。每个值都不会连续进行存储。链表是由一系列节点组成,每一个节点都有一个链点,就是next链。而next链则会执行下一个node引用,所以我们在插入和删除数据的时候,需要该链表next链的指向地址即可,每个节点不需要内存进行连续存储,这样会减少删除和插入的线性开销。

 

从逻辑结构上看:

1:数组必须事先定义固定的长度,不能实行动态数据的增减。当数据增加时,可能超出原先定义的元素个数,出现溢出现象。当数据减少时,造成内存浪费。数组中增减数据时需要移动其他数据。

2:链表动态的进行了存储分配,可以适应数据动态的增减,且方便的插入和删除数据。

 

从内存来看:

1(静态)数组从栈中分配空间,对于程序员来说方便快速,但自由度小。

2链表从堆中分配空间,自由度大,但申请管理比较麻烦

 

。。。该博文为摘抄  关于动态数组  及  单双向链表  没写  有机会补上

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值