前言
前言:研究一个数据结构的时候,首先讲的是增删改查。
一、一维数组
1. 简介
1)定义
一系列有序数据的集合,其中所有数据都具有相同的数据类型。
2)优点
支持随机访问。由于数据连续存储,支持索引操作。
3)缺点
a. 声明数组时需要指定长度,数组一旦初始化完成之后长度就是不可变的。
b. 插入和删除操作效率低。
4)使用数组的4个步骤
声明数组,开辟空间,进行赋值,操作处理。
2. 操作
1)访问
数组通过索引进行访问,即通过中括号 []
中指定下标来访问,下标位置从 0
开始。
2)数组下标为什么从0开始?
- 首地址为
base_address
; - 寻址公式为 array[i] = base_address + i * data_type_size。其中
data_type_size
为数据类型所占字节长度。例如,array[1]=1000+1*4
,其中4
为int
为int
类型所占的字节数; - 如果下标从
1
开始,寻址公式为 array[i] = base_address + (i - 1) * data_type_size。这样每次访问数组元素都会进行i-1
操作,影响性能; - 综上,数组下标需要从
0
开始;
3)读取和更新(读和写)
a. 读取数据
通过下标访问。
b. 更新数据
添加数据,新值覆盖旧值。例如,a[0] = 3;
。
删除数据,通过赋新值操作。
插入和删除本质上都是覆盖操作。
二、二维数组
简单理解,多维数组就是数组中的数组,数组中的每一个元素也是一个数组。