数据结构 -- 数组
概念
数组是一种 线性表 数据的结构, 它使用一组 连续的内存空间* 来存储一组 相同数据类型 的数据。
- 线性表:数据排列成一条线一样的结构。数据结构的特点:存在一个唯一的没有前驱的数据元素(头);存在一个唯一的没有后继的数据元素(尾)。像队列、链表、栈也是线性表结构。对应的还有 非线性表 结构(数据没有先后顺序,像二叉树、堆等)
- 连续内存空间:计算机分配内存空间的时候都会分配一个对应的内存地址,连续的内存空间对应的是连续的内存地址,计算机是通过访问内存地址获取存储在对应内存空间的值
- 相同数据类型:相同数据类型,换句话说就是数据存储占用的内存大小是一样的
特性 -- 随机访问
数组最大的特性:随机访问
- 随机访问:存取第 N 个数据时,必须先访问前 N -1 个数据
-
非随机访问:存取第 N 个数据时,不需要先访问前 N - 1 个数据,直接就可以操作第 N 个数据
如下图所示:
QQ20200624-190523@2x.png
为什么数组下标都是从 0 开始?
- 从上图分析
- 假设下标从 1 开始,我们要想获取第三个值的话 首地址(1000) + (3 - 1) * 4(数据类型占用的内存) = 1008(第三个值地址的位置)
- 假设下标从 0 开始,我们要想获取第三个值的话 首地址(1000) + 2 * 4(数据类型占用的内存) = 1008(第三个值地址的位置) 省去了一个减的动作,提升了访问效率
网友评论