第5章 数组.ppt
《第5章 数组.ppt》由会员分享,可在线阅读,更多相关《第5章 数组.ppt(32页珍藏版)》请在麦多课文档分享上搜索。
1、第5章 数组,主要知识点,数组的基本概念 动态数组 特殊矩阵 稀疏矩阵,5.1 数组的基本概念,1.数组的定义,数组是n(n1)个相同数据类型的数据元素a0,a1,a2,.,an-1构成的占用一块地址连续的内存单元的有限序列。,数组中任意一个元素可以用该元素在数组中的位置来表示,数组元素的位置通常称作数组的下标。,相同之处是它们都是若干个相同数据类型的数据元素a0,a1,a2,.,a0-1构成的有限序列。 不同之处是: (1)数组要求其元素占用一块地址连续的内存单元空间,而线性表无此要求; (2)线性表的元素是逻辑意义上不可再分的元素,而数组中的每个元素还可以是一个数组; (3)数组的操作主要
2、是向某个下标的数组元素中存数据和取某个下标的数组元素,这和线性表的插入、删除操作不同。,数组符合线性结构的定义。数组和线性表相比,,线性结构(包括线性表、堆栈、队列、串)的顺序存储结构实际就是使用数组来存储。可见,数组是其他数据结构实现顺序存储结构的基础,是软件设计中最基础的数据结构。,2.数组的实现机制,()、一维数组(n个元素)中任一元素ai的内存单元地址Loc(ai)=LOC(a)+i*k (0i n)()、一个m行n列的二维数组LOC(aij)=LOC(a00)+(i*n+j)*k (0im,0jn)注:C语言中数组元素采用行主序的存放方法,即行优先顺序。,a的内存单元地址,每个元素所
3、需的字节个数,每个元素所需的字节个数,a0的内存单元地址,一个mn的二维数组可以看成是m行的一维数组,或者n列的一维数组。,3.数组抽象数据类型,数据集合: 数组的数据集合可以表示为a0, a1, a2, ., an-1,每个数据元素的数据类型为抽象数据元素类型DataType。 操作集合: (1)求数组元素个数ArrayLength(D) (2)取数组元素Get(D, i) (3)存数组元素Storage(D, i, x),例如, int a10;a3 = a4; /赋值号右边的a4是取操作,取值/赋值号左边的a3是存操作,取地址,5.2 动态数组,数组有静态存储结构的数组和动态存储结构的数
4、组两种,它们的区别在于: 静态数组在定义时就必须给出数组个数; 动态数组是在具体申请存储单元空间时才给出数组元素的个数。,例5-2 定义有3行、4列整数类型的二维数组a,先逐行分别给数组元素赋数据1,2,.,12,然后显示数组中的数值。要求分别把申请二维动态数组的过程和释放二维动态数组的过程编写成函数。,int *Make2DArray(int row, int col) int *a, i;a = (int *)malloc(row * sizeof(int *);for (i = 0; i row; i+)ai = (int *)malloc(col * sizeof(int);retur
5、n a; ,void Diliver2DArray(int *a, int row) int i;for(i = 0; i row; i+)free(ai); free(a); ,#include #include #include #include “Array.h”,void main(void) int i, j, c; int row = 3, col = 4, *a;a = Make2DArray(row, col);c = 1;for(i = 0; i row; i+) for(j = 0; j col; j+) aij = c; c+; for(i = 0; i row; i+)
6、 for(j = 0; j col; j+)printf(“%5d“, aij);printf(“n“); Diliver2DArray(a, row); ,程序运行输出结果如下:1 2 3 45 6 7 89 10 11 12,注意,二维动态数组的全部存储空间不是一次申请的,所以二维动态数组的每一维数组在物理上是连续的,而全部二维动态数组在物理上不一定是连续的。,5.3 特殊矩阵,特殊矩阵:指有许多值相同的元素或有许多零元素、且值相同的元素或零元素的分布有一定规律的矩阵。,1.几种特殊矩阵的压缩存储:,(1)n阶对称矩阵 在一个n阶方阵A中,若元素满足下述性质:aij=aji (1i,jn)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组 PPT
