- 10
- 0
- 约1.86万字
- 约 74页
- 2018-01-01 发布于广东
- 举报
数据结构(Java语言版) 人民邮电出版社 【知识要点】 数组的基本概念; 一维数组和二维数组; 特殊矩阵及其压缩存储结构; 稀疏矩阵及其压缩存储结构; 广义表的概念; 广义表的存储结构。 5.1 实例引入 【学习任务】通过实例引入,了解数组的特点以及结构构成 【例5.1】某单位运动会座位安排示意图 5.2 数组 【学习任务】准确把握数组的概念及相关概念,熟练掌握一维数组中数据元素地址的计算方法,理解二维数组中数据元素地址的计算方法,了解相关应用。 5.2.1数组的基本概念 1.数组的定义 数组(Array)是一组具有相同数据类型的数据集合。数组中的每个数据称为数据元素。数据元素按次序存储于一段地址连续的内存空间中。即数组是数据元素的线性组合,类似于顺序存储结构的线性表。 2.数组的相关概念 (1)下标 数据元素在数组中的位置编号称为数组的下标,在Java语言中,数组的下标是从0开始的,第1个数据元素的下标为0,第2个数据元素的下标为1,……。可以通过下标找到存放该元素的存储地址,访问该数据元素的值。数组中的每一个元素和下标惟一对应。 5.2.1数组的基本概念 在Java中,数据元素可以是简单数据类型,也可以是引用类型。在Java中,声明数组变量时不需要指定数组的长度,只有使用new运算符为数组分配空间后,数组才真正占用一段连续地址的存储单元。而当数组使用完之后,Java的垃圾回收机制将自动销毁不再使用的对象,收回对象所占的资源。 (2)维数 数组下标的个数就是数组的维数,有一个下标就是一维数组;有两个下标就是二维数组;有三个以上的下标,就统称为多维数组。 第三阶段 5.2.1数组的基本概念 在Java中java.util.Arrays类中,包含用来操作数组(比如排序和搜索)的各种方法。java.util.Vector可以实现变长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,Vector 的大小可以根据实际需要增大或缩小数组的长度,以适应创建Vector后进行添加或删除等操作。 5.2.2 一维数组 数组是n(n≥1)个相同类型数据元素a0,a1,…,ai,…,an-1组成的有限序列,存储在一个连续的内存单元中。在一维数组中的每个数据元素都对应于一个下标i,每个下标的取值范围是0≤in。其中,n表示数组的长度。 在一维数组中,当系统为一个数组分配连续的内存单元时,该数组的存储地址即数组的首地址LOC(a0)就确定了。并假设每个数据元素占用了L个存储单元,则任意一个数据元素的存储地址LOC(ai)就可由如下公式计算得出: LOC(ai) = LOC (a0) +i×L (0≤i≤n-1) 5.2.2 一维数组 该式说明,一维数组中的数据元素的存储地址可以直接计算得到,即一维数组中的任意一个数据元素可直接存取(即随机存储结构)。可以通过如下形式访问数组中任意指定的数据元素: 数组名[下标] 5.2.3 二维数组 二维数组是线性表的推广。二维数组可以看作“其数据元素为一维数组”的线性表。以此类推,多维数组可以看作一个线性表,这个线性表中的每一个数据元素也是一个线性表。 1.二维数组的概念 对于一个m行n列的二维数组,有 5.2.3 二维数组 将简记为A,A是这样的一维数组: A=(a0,a1,…, ap) (p=m-1或p=n-1) 其中每个数据元素ai是一个行向量形式的线性表,即 ai=(ai0,ai1,…,ai,n-1)(0≤i≤m-1) 或者每个数据元素aj是一个列向量形式的线性表,即 aj=(a0j,a1j,…,am-1,j) (0≤j≤n-1) 5.2.3 二维数组 2.二维数组的存储结构 对于二维数组,如何使用线性存储结构存放二维数组的数据元素呢? 对于二维数组,使用一段连续的存储单元存放数据元素的方式有两种: 一种是以行为主序的顺序存储,即首先存储第1行的数据元素,然后存储第2行的数据元素,……最后存储第m行的数据元素。此时,二维数组的线性排列次序为: a00,a01,…,a0,n-1 ,a10,a11,…,a1,n-1,…,am-1,0,am-1,1,…,am-1,n-1 其存储形式如图5.3 (a)所示。 5.2.3 二维数组 另一种是以列为主序的顺序存储。二维数组的线性排列次序为: a00,a10,…,a m-1,0 ,a01,a11,…,am-1,1,…,a0,n-1,a1,n-1,…,am-1,n-1 其存储形式如图5.3 (b)所示。 5.2.3 二维数组 5.2.3 二维数组 数据元素的存储位置是由其下标决定的。二维数组的第1个数据元素的a00存储地址LOC(a00),每个数据元素占L个存储单元,则按行为主序存储数组时,该二维数组中任意
您可能关注的文档
- 数据库原理及应用 (SQL Server 2005) 第6章 数据库的创建与管理新.ppt
- 中文Flash 8案例教程 沈大林 等 第2章 绘制图形和编辑图形新.ppt
- 数据库原理及应用 (SQL Server 2005) 第7章 表的创建与约束机制新.ppt
- 数据库原理及应用 (SQL Server 2005) 第8章 数据查询新.ppt
- 数据库原理及应用 (SQL Server 2005) 第11章 存储过程和触发器新.ppt
- 中文Flash 8案例教程 沈大林 等 第6章 面向对象的程序设计新.ppt
- 数据库原理及应用 (SQL Server 2005) 第13章 数据库的日常维护与管理新.ppt
- 数据库原理及应用(Access 2007)沈祥玖 第1章 关系数据库概述新.ppt
- 中文Flash 8案例教程 沈大林 等 第7章 Flash 8组件和综合实例新.ppt
- 数据库原理及应用(Access 2007)沈祥玖 第2章 Access数据库简介及应用新.ppt
最近下载
- 年产2万吨碳酸锂项目(吸附剂车间竣工环保验收监测调查报告.docx VIP
- 2025年高考湖南卷物理真题试卷.pdf VIP
- 生物安全培训.doc VIP
- 圣兴化工年产1万吨硝酸镁、2万吨水溶肥、1万吨硝酸钙、2万吨太阳能熔盐、5万吨农业(工业)硝酸钾及5.4万吨氯化镁溶液项目环评.doc VIP
- DB37T 4983—2025 无人机半航空瞬变电磁探测技术规程.pdf
- 2026春沪教版七年级英语下册单词衡水体字帖.pdf VIP
- 25HNTJ026 锯齿形装配式混凝土剪力墙结构施工图制图规则及构造详图 T_HNKCSJ 025-2025.docx VIP
- 25HNTJ025 刚节点装配式混凝土框架结构施工图制图规则及构造详图 T_HNKCSJ 024-2025.docx VIP
- 25HNTJ025 低能耗集成装配式多层房屋构造 T_HNKCSJ 023-2025.docx VIP
- 催眠引导语合集元式催眠.docx VIP
原创力文档

文档评论(0)