数据结构与算法 线性表-数组
概念解释
**数组(Array)**大概是最简单,也是最常用的数据结构了。其他数据结构,比如栈和队列都是由数组衍生出来的。
每一个数组元素的位置由数字编号,称为下标或者索引(index)。大多数编程语言的数组第一个元素的下标是0。
根据维度区分,有2种不同的数组:
- 一维数组
- 多维数组(数组的元素为数组)
数组的基本操作
- Insert - 在某个索引处插入元素
- Get - 读取某个索引处的元素
- Delete - 删除某个索引处的元素
- Size - 获取数组的长度
访问元素
数组元素被存储在连续的内存空间中,这意味着计算数组元素的内存地址非常容易。给定数组内存地址(首元素内存地址)和某个元素的索引,计算得到该元素的内存地址,从而直接访问该元素。
数组索引的本质是地址偏移量(),首个元素的地址偏移量是0,故索引 0代表数组的第一个元素位置。
插入元素
数组元素在内存中是“紧挨着的”,它们之间没有空间再存放任何数据。如果想在数组中间插入一个元素,则需要将该元素之后的所有元素都向后移动一位,之后再把元素赋值给该索引这会导致数组尾部元素“丢失”。
删除元素
删除索引 i 处的元素,则需要把索引 i 之后的元素都向前移动一位。