§2数组的逻辑结构和存储结构(p198-200) 维数组的逻辑结构和存储结构 1.逻辑结构 一维数组是线性表的一种表现形式。 线性表的特点:()存在唯一的一个被称做“第一个” 的数据元素;(2)存在唯一的一个被称做“最后一个”的 数据元素;(3)除第一个之外,表中的每个数据元素均只 有一个前驱;(4)除最后一个之外,表中的每个数据元素 均只有一个后继。 一维数组的逻辑结构是按数组元素下标值由小到大推 列的一个线性表,每个元素的下标值确定了该元素在表 中的位置。 §2数组的逻辑结构和存储结构 2021/2/24
11 2021/2/24 一、一维数组的逻辑结构和存储结构 1. 逻辑结构 一维数组是线性表的一种表现形式。 线性表的特点:⑴存在唯一的一个被称做“第一个” 的数据元素;⑵存在唯一的一个被称做“最后一个”的 数据元素;⑶除第一个之外,表中的每个数据元素均只 有一个前驱; ⑷除最后一个之外,表中的每个数据元素 均只有一个后继。 一维数组的逻辑结构是按数组元素下标值由小到大排 列的一个线性表,每个元素的下标值确定了该元素在表 中的位置。 §2 数组的逻辑结构和存储结构(p198-200) §2 数组的逻辑结构和存储结构
2存储结构 12 维数组在计算机内存中占用一串连续的存储单元,每 个元素在內存中的存放顺序与逻辑结构是一致的。 如: ia(1) a(2) real ia(10) a({3) ia(4) a(5) ia(6) ia(7) a(8) ia(9) a(10) §2数组的逻辑结构和存储结构 2021/2/24
12 2021/2/24 2. 存储结构 一维数组在计算机内存中占用一串连续的存储单元,每 个元素在内存中的存放顺序与逻辑结构是一致的。 如: §2 数组的逻辑结构和存储结构 real ia(10) ia(1) ia(2) ia(3) ia(4) ia(5) ia(6) ia(7) ia(8) ia(9) ia(10)
二、二维数组的逻辑结构和存储结构 13 1.逻辑结构 可以看成是一个矩阵,每个元素的第1个下标表示元素 在矩阵中的行号,第2个下标表示元素在矩阵中的列号。 如: real W 3, 2) W(1,1)w(1,2) W(2,1)W(2,2) 2.存储结构 W(31)w(32) 在内存中占有连续的存储单元存储单元是一维的)。 二维数组在内存中按列存放,先存放第1列的元素,再 存放第2列的元素,依此类推,…… §2数组的逻辑结构和存储结构 2021/2/24
13 2021/2/24 二、二维数组的逻辑结构和存储结构 1. 逻辑结构 可以看成是一个矩阵,每个元素的第1个下标表示元素 在矩阵中的行号,第2个下标表示元素在矩阵中的列号。 如: 2. 存储结构 在内存中占有连续的存储单元(存储单元是一维的)。 二维数组在内存中按列存放,先存放第1列的元素,再 存放第2列的元素,依此类推,…… 。 real w(3, 2) w(1,1) w(1,2) w(2,1) w(2,2) w(3,1) w(3,2) §2 数组的逻辑结构和存储结构
如:reaw(3,2)存储结构:w(1,1) 14 逻辑结构 W(2,1) W(11)w(1,2) W(3,1 W(2,1)w(2,2) W(1,2) w(3,1)w3,2) W(2,2) 、三维数组的逻辑结构和存储结构 w(3,2) 逻辑结构:可以看成是由多个二维矩阵(或若干页表格) 组成的。每个元素的第3个下标表示元素所在的页号,第1 个下标表示元素在该页表格的行号,第2个下标表示元素 在该页表格的列号。(教材p200例子) 存储结构:也占有一串连续的存储单元,依次存放各二 维矩阵或各表格)的所有元素(按列存放)。可以认为“第 1下标变化最快虫但次之,最后的下标变化最慢” §2数组的逻辑结构和 构 2021/2/24
14 2021/2/24 如: 逻辑结构: 三、三维数组的逻辑结构和存储结构 逻辑结构:可以看成是由多个二维矩阵 (或若干页表格) 组成的。每个元素的第3个下标表示元素所在的页号,第1 个下标表示元素在该页表格的行号,第2个下标表示元素 在该页表格的列号。(教材p200例子) 存储结构:也占有一串连续的存储单元,依次存放各二 维矩阵(或各表格)的所有元素(按列存放) 。可以认为“第 1下标变化最快,中间次之,最后的下标变化最慢” real w(3, 2) w(1,1) w(1,2) w(2,1) w(2,2) w(3,1) w(3,2) 存储结构:w(1,1) w(2,1) w(3,1) w(1,2) w(2,2) w(3,2) §2 数组的逻辑结构和存储结构
15 dimension c(2,2,2),问c的元素存储顺序如何? c(1,1,1)c(2,1,1)c(1,2,1)c(2,2,1)c(1,1,2)c(2,1,2) c(1,2,2)c(2,2,2) 注意: ◆存储结构:一个数组在计算机内存中实际存 放的形式。 今 Fortran程序可以在一个输入/输出语句中通 过数组名对所有数组元素进行一次性的输入/输出 采用这种形式时,输入/输出的顺序是和存储结构 的顺序一致的。 §2数组的逻辑结构和存储结构 2021/2/24
15 2021/2/24 注意: ❖ 存储结构:一个数组在计算机内存中实际存 放的形式。 ❖ Fortran程序可以在一个输入 / 输出语句中通 过数组名对所有数组元素进行一次性的输入 / 输出; 采用这种形式时,输入 / 输出的顺序是和存储结构 的顺序一致的。 §2 数组的逻辑结构和存储结构 dimension c(2,2,2),问c的元素存储顺序如何? c(1,1,1) c(2,1,1) c(1,2,1) c(2,2,1) c(1,1,2) c(2,1,2) c(1,2,2) c(2,2,2)