1. 数组和链表¶
1.1. 数组¶
- 一维数组: 一维数组(向量)是存储于计算机的连续存储空间中的多个具有统一类型的数据元素。同一数组的不同元素通过不同的下标标识。如:(a1,a2,…,an)
- 二维数组: 二维数组Amn可视为由m个行向量组成的向量,或由n个列向量组成的向量。
- 多维数组: 三维数组Amnp可视为以二维数组为数据元素的向量。四维数组可视为以三维数组为数据元素的向量……
数组的存储方式¶
由于计算机内存是一维的,多维数组的元素应排成线性序列后存人存储器。数组一般不做插入和删除操作,即结构中元素个数和元素间关系不变化。一般采用顺序存储方法表示数组。
行优先顺序, 将数组元素按行向量排列,第i+1个行向量紧接在第i个行向量后面。
例如:二维数组Amn的按行优先存储的线性序列为:a11,a12,…,a1n,a21,a22,…,a2n,……,am1,am2,…,amn
Note
- PASCAL和C语言中,数组按行优先顺序存储。
- 行优先顺序推广到多维数组,可规定为先排最右的下标。
列优先顺序,将数组元素按列向量排列,第i+1个列向量紧接在第i个列向量后面。
例如:二维数组Amn的按列优先存储的线性序列为:a11,a21,…,am1,a12,a22,…,am2,……,a1n,a2n,…,amn
Note
- FORTRAN语言中,数组按列优先顺序存储。
- 列优先顺序推广到多维数组,可规定为先排最左的下标。