美文网首页
数组与链表区别

数组与链表区别

作者: 王雪浩_强化班 | 来源:发表于2019-12-29 14:54 被阅读0次

数组: 在栈空间内存中申请一块内存,使用变量间接访问这片内存

例子: int A[3]    --> 在栈空间中"连续"申请12个字节

      A[0] A[1]  --> 使用变量A间接访问内存空间  --> A[0]与A[1]之间通过地址寻找下一个数组的目标

   

    A[0]  等价于 *(A+0)

    A[1]  等价于 *(A+1)

    数组: 地址连续,地址之间相差字节数已知  --> 地址+相差字节数=得到下一个目标的值

特点:

1. 由于数组申请的时候地址是连续的,而是每一个储存单位都相同,肯定可以通过计算来得到下一个元素

2. 大小固定的,每次修改数组的值,必须检查数组空间大小  --> 效率低

链表:在堆空间申请一些零碎的内存空间,使用地址让他们连接在一起。

设计链表节点:

struct data{

    int A; //数据域  -> 存放该节点的数据

    struct data *p;  //指针域  --> 存放下一个节点的地址

}

特点:

1. 链表每一个节点的空间都不需要连续的,可以让系统一些零碎的内存空间使用起来

2. 链表由于每一个节点都会存放下一个节点的地址,链表不是通过计算得到下一个节点,而是通过查看指针域来得到下一个节点

3. 没有固定的大小,添加或者删除节点非常方便

 

相关文章

  • 大数据(架构师)面试系列(5)

    1.数组与链表的区别是什么? 线性表--数组和链表的区别链表和数组的区别在哪里? 2.Scala函数式编程的特点?...

  • 链表

    链表 缺点:查找复杂有点:定点删除/插入元素 单链表 双向链表 循环链表 双向循环链表 数组与链表的区别 数据存储...

  • 数据结构和算法

    1、数组和链表区别(1)物理存储结构不同。链表与数组在计算中存储元素采用不同的存储结构,数组是顺序存储结构,链表是...

  • 算法与数据结构(四)栈与队列

    上次聊到数组与链表,它们都是线性表,数组与链表的本质区别是内存是否连续,进而得出结论:数组可以在 O(1) 时间复...

  • 三、数据结构与算法 — 链表

    链表与数组的区别 链表不是连续的 单链表与循环链表 注意链表中的头结点和尾结点。 循环链表从尾可以方便的到头,适合...

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

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

  • 数据结构——链表

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

  • 数组与链表区别

    数组: 在栈空间内存中申请一块内存,使用变量间接访问这片内存 例子: int A[3] --> 在栈空间中"连续...

  • 数据结构和算法

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

  • 链表

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

网友评论

      本文标题:数组与链表区别

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