第四章数组、串与广义表 一维数组与多维数组 特殊矩阵 稀疏矩阵 字符串 广义表 1
第四章 数组、串与广义表 1
一维数组 .定义 数组是相同类型的数据元素的集合,而一维 数组的每个数组元素是一个序对,由下标 (index)和值(value)组成。 一维数组的示例 0 12345 6 7 8 9 35 27 49 18 60 54 77 83 41 02 ·在高级语言中的一维数组只能按元素的下标 直接存取数组元素的值。 2
一维数组 数组是相同类型的数据元素的集合 而一维 数组的每个数组元素是一个序对,由下标 (index)和值(value)组成。 • 一维数组的示例 • 在高级语言中的一维数组只能按元素的下标 直接存取数组元素的值。 35 27 49 18 60 54 77 83 41 02 0 1 2 3 4 5 6 7 8 9 2
一维数组的定义和初始化 #include <iostream.h> void main ( inta[3]={3,5,7},*elem,i; 川静态数组 for(i=0;i<3;i++) cout <ai]<endl; elem new int[3]; 川动态数组 for(i=0;i<3;i++) cin >elem[i]; int temp=elem; for(i=0;i<3;i++) cout <*temp<<endl;temp++; delete elem; 3 3
一维数组的定义和初始化 #include <iostream.h> void main ( ) { int a[3] = { 3, 5, 7 }, *elem, i; //静态数组 for (i = 0; i < 3; i++) cout << a[i] << endl; elem = new int[3]; //动态数组 for (i = 0; i < 3; i++) cin >> elem[i]; int * temp = elem; for (i = 0; i < 3; i++) { cout << *temp<< endl; temp++; } delete [] elem; } 3
多维数组 ·多维数组是一维数组的推广。 。 多维数组的特点是每一个数据元素可以有多 个直接前驱和多个直接后继。 数组元素的下标一般具有固定的下界和上界, 因此它比其他复杂的非线性结构简单。 ·例如二维数组的数组元素有两个直接前驱, 两个直接后继,必须有两个下标(行、列) 以标识该元素的位置。 4
多维数组 • 多维数组是一维数组的推广。 • 多维数组的特点是每一个数据元素可以有多 个直接前驱和多个直接后继。 • 数组元素的下标一般具有固定的下界和上界, 因此它比其他复杂的非线性结构简单。 • 例如二维数组的数组元素有两个直接前驱, 两个直接后继,必须有两个下标(行、列) 以标识该元素的位置。 4
二维数组 三维数组 m1=5 m2=4m3=6 a[2][2] 2 m 2 3×4×6 2×6 ma mi m3 a[3][2][2] 行向量下标i 页向量下标i 列向量下标j 行向量下标j 列向量下标飞 5
二维数组 三维数组 行向量 下标 i 页向量 下标 i 列向量 下标 j 行向量 下标 j 列向量 下标 k 5