Page 46 - 高中 信息技术 选择性必修1 数据与数据结构
P. 46
第二章 数据的存储方式 2.2 数据的顺序存储与组织
{
if(a[i]!=0) //只输出系数不为0的项
{
cout<<a[i]<<"x^"<<i<<" ";
if(i>0) cout<<"+"; //如果不是常数项则输出加号
}
}
}
2.二维数组
广东教育出版社
数组的下标可以是一个,也可以是多个。当数组有两个下标时,就称为二维数组。二
维数组可以看成一维数组的嵌套,即首先把它看作一个一维数组,这个数组的每个元素又
是一个一维数组。如一个二维数组b,可看成为某个一维数组共有n个元素,分别是b[0],
b[1],…,b[n-1],其中每个元素b[i](0≤i<n)又是一个有m个元素的一维数组,分别是b[i]
[0], b[i][1],…,b[i][m-1]。从逻辑结构上,我们也可以把这个二维数组看成一个n行m列的
矩阵,并把第一个下标称为行下标,第二个下标称为列下标。
在C++语言中,二维数组的一般定义方式为:
类型说明符 数组名[常量表达式1][常量表达式2];
其中,“类型说明符”是任一种数据类型,“数组名”是用户定义的数组标识符,
“常量表达式1”表示第一维的长度,“常量表达式2”表示第二维的长度。例如:
int b[4][3];
#define maxrows 10
#define maxcolumns 20
float f2[maxrows][maxcolumns];
如已定义一个二维数组b:
int b[4][3];
则b为4行3列的整数型二维数组,b的所有数组元素如下:
b[0][0],b[0][1],b[0][2]
b[1][0],b[1][1],b[1][2]
b[2][0],b[2][1],b[2][2]
b[3][0],b[3][1],b[3][2]
虽然二维数组在逻辑结构上具有行与列两个方向,但它作为一种顺序结构,所有元素
在计算机内存空间中的物理存储地址仍是连续的。如在n行m列的二维数组b中,每个数据
元素占用d个字节,假设b的第一个数据元素的计算机存储地址为Loc(b[0][0]),那么b的存储
结构如图2-5所示。
38 38
21X2204.indd 38 2019/9/26 13:53:06