链表和数组

数组和列表很相似,都是有序的元素集合。他们之间的特点列在了下面:

数组 array

  1. 数组在内存中,数组是一块连续的区域。 这就要求在物理上这一片空间是连续的,每个元素都有指定的索引index指向内存地址,因此查询的时候,可根据index快速找到对应地址存储的信息,使得数组查询速度快
  2. 数组在插入数据时,这个位置后面的数据在内存中都要向后移。在删除数据时,这个数据后面的数据都要往前移动,这就导致了数组在插入数据和删除数据效率低
  3. 数组需要预留空间,在使用前要先申请占内存的大小,可能会浪费内存空间,这就不利于扩展,数组定义的空间不够时要重新定义数组。

链表 list

  1. 链表在内存中可以存在任何地方,不要求连续。每一个数据都保存了下一个数据的内存地址,通过这个地址找到下一个数据。因为不具有随机访问性,所以访问某个位置的数据都要从第一个数据开始访问,然后根据第一个数据保存的下一个数据的地址找到第二个数据,以此类推。这就导致链表查询是效率很低.
  2. 链表因为不需要在内存中连续,所以增加数据和删除数据很容易
  3. 链表不指定大小,扩展方便。链表大小不用定义,数据随意增删。
链表删除

链表插入
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 二者都属于一种数据结构 从逻辑结构来看 1. 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况...
    Lee坚武阅读 1,238评论 0 50
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,397评论 11 349
  • 第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的“同行”Apache吧!Ngi...
    JokerW阅读 32,836评论 24 1,002
  • 其实,我不是个随和的人,固执、倔强也腼腆。我坚定地赞同亲不言谢,有些时候,有些事,我心存感激,却也很少说感谢。...
    可比克克阅读 430评论 0 0
  • vim nginx.conf
    很少更新了阅读 119评论 0 0