美文网首页
链表和数组

链表和数组

作者: 无敌的肉包 | 来源:发表于2018-04-08 23:19 被阅读0次

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

数组 array

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

链表 list

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

相关文章

  • iOS知识复习笔记(19)---数据结构和算法1

    数组和链表的区别 数组静态分配内存,链表动态分配内存 数组内存中连续,链表不连续 数组元素在栈区,链表在堆区 数组...

  • 数据结构和算法

    线性结构 数组、 单链表和双链表 数组和链表区别: 数组:数组元素在内存上连续存放,可以通过下标查找元素;插入、删...

  • Redis-第十章节-链表

    目录 数组和链表 链表 对比 总结 1、数组和链表 数组: 数组会在内存中开辟一块连续的空间存储数据,这种存储...

  • 数据结构——链表

    目录 1、属性 2、链表和数组的区别 2.1、数组概述 2.2、数组和链表优缺点 2.3、链表和数组的比较 3、单...

  • 链表

    链表和数组一样也支持查找,插入,删除操作。最常见的三种链表是:单链表,双链表和循环链表。 链表和数组的区别:数组需...

  • C语言指针部分说明

    二级指针 函数指针 数组和链表 访问数组 访问链表 Makefile

  • 算法小专栏:选择排序

    本篇将重点介绍选择排序,在讲解选择排序之前,我们先复习一下数组和链表等知识。 一、数组 or 链表? 数组和链表作...

  • HashMap 相关面试题及其解答

    Q:HashMap 的数据结构?A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过 ...

  • 这21个刁钻的HashMap面试题,我把阿里面试官吊打了

    1:HashMap 的数据结构? A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过...

  • 面试:HashMap 夺命二十一问!

    1:HashMap 的数据结构? A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过...

网友评论

      本文标题:链表和数组

      本文链接:https://www.haomeiwen.com/subject/yeuxhftx.html