数组和链表的区别

两者的区别可以从两方面:

  • 内存存储:
    ① 数组从栈中分配空间,对程序员方便快速,自由度小。
    ② 链表从堆中分配内存。自由度大但申请管理比较麻烦。
  • 逻辑结构:
    ① 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减情况(数据插入、删除比较麻烦)。当数据增加时,可能会超出数组的最大空间(越界);当数据减少时,造成内存浪费。
    ② 链表动态地进行存储分配,可以适应数据动态地增减情况(数据插入删除简单)(数组中插入、删除数据项时,需要移动其他项),但链表查找元素时需要遍历整个链表。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 重新回顾了下,总结如下: 1.数组查询快:数组要求是一块连续的内存空间来存储,这就要求在物理上这一片空间是连续的,...
    InitialX阅读 3,513评论 0 8
  • 首先,二者都属于数据结构的范畴。数组一旦初始化,长度就不能改变。链表长度可以改变,可以动态的增加节点数据,操作比较...
    望月成三人阅读 1,693评论 2 4
  • 数组和链表是两种基本的数据结构,他们在内存存储上的表现不一样,所以也有各自的特点。 大致总结一下特点和区别,拿几个...
    喵了个呜s阅读 3,787评论 0 1
  • 内蒙企业剧场概述 对企业的作用, 剧场训练创造力,想象力,独立性,自主性,让参与者从内在发生变化,运用艺术的方...
    轻颂戏剧Luiz阅读 218评论 0 0
  • 当生活过得和你原来想的一样,当生活陷入低谷,当每件事都不顺你心的时候,当你不知道明天能干什么的时候,当生活...
    镶钻白骨精阅读 498评论 0 0