数据结构与算法——C语言和Java语言描述 ppt及答案和其他资源05数组与矩阵
41页1、数组 集合 矩阵,2019年5月18日星期六,第五章,目录,Contents,数组的基本概念,动态数组(向量类),集合的概念和集合类的设计,矩阵类的设计,特殊矩阵,稀疏矩阵, 数组定义, 实现机制, 抽象数据类型, JAVA语言支持的数组功能,01,PART,数组的基本概念, 数组定义,数组是n(n1)个相同数据类型的数据元素a0,a1,a2,.,an-1构成的占用一块地址连续的内存单元的有限序列。,数组中任意一个元素可以用该元素在数组中的位置来表示,数组元素的位置通常称作数组的下标。,数组, 数组线性表,数组要求其元素占用一块地址连续的内存单元空间,而线性表无此要求; 线性表的元素是逻辑意义上不可再分的元素,而数组中的每个元素还可以是一个数组; 数组的操作主要是向某个下标的数组元素中存数据和取某个下标的数组元素,这和线性表的插入、删除操作不同。,不同点,相同点,它们都是若干个相同数据类型的数据元素a0,a1,a2,.,a0-1构成的有限序列。, 数组的定义,数组,数组符合线性结构的定义。 线性结构(包括线性表、堆栈、队列、串)的顺序存储结构实际就是使用数组来存储。可见,数组是其他数据
2、结构实现顺序存储结构的基础,是软件设计中最基础的数据结构。, 数组的实现机制,()、一维数组(n个元素)中任一元素ai的内存单元地址 Loc(ai)=LOC(a)+i*k (0i n) ()、一个m行n列的二维数组 LOC(aij)=LOC(a00)+(i*n+j)*k (0im,0jn),a的内存单元地址,每个元素所需的字节个数,a0的内存单元地址,每个元素所需的字节个数, 数组的实现机制,一个mn的二维数组可以看成是m行的一维数组,或者n列的一维数组。,数组抽象数据类型,数组的数据集合可以表示为a0, a1, a2, ., an-1,每个数据元素的数据类型可以是任意类类型或基本数据类型。,1)分配内存空间acclocate() 2)取数组长度getLength() 3)存数组元素set(i, x) 4) 取数组元素get(i),数据集合 操作集合,JAVA语言支持的数组功能,01,02,03,int a = new int10;,int c = a.length;,a1 = 5;,04,int d = a1;,JAVA语言支持的数组功能,Java语言可以定义对象数组。 public
3、 class Position private int x; private int y; public Position() x = y = 0; 则可以定义如下4个对象的对象数组pos: Position pos = new Position4; 要注意的是,对于对象数组来说,其中的每个数组元素都需要通过new运算符单独创建。例如: Position pos = new Position4; for(int i = 1; i 4; i+) pos i = new Position ();,对象数组, 向量类定义, 程序实例, 设计说明,02,PART,动态数组(向量类),向量类定义,向量类,Java语言只直接支持上述基本的数组操作。如果程序开始时定义的数组长度为10,且数组中已经存放了若干数据元素,要在程序运行过程中扩充数组长度为20,且把数组中原先存放的数据元素原样保存,则系统不提供直接支持,需要应用程序自己实现。 向量类Vector扩充了数组的功能,提供了自动扩充数组长度、且把数组中原先存放的数据元素原样保存的功能。Vector类在java.util包中。 这里我们设计一个和V
4、ector类功能类同的MyVector类。,程序实例 MyVector类,public class MyVector private Object elementData; private int elementCount; private void ensureCapacity(int minCapacity) /扩充内存 int oldCapacity = elementData.length; if (minCapacity oldCapacity) Object oldData = elementData; int newCapacity = oldCapacity * 2; if (newCapacity minCapacity) newCapacity = minCapacity; elementData = new ObjectnewCapacity; System.arraycopy(oldData, 0, elementData, 0, elementCount); public MyVector()/构造函数 this(10); public MyVector(in
《数据结构与算法——C语言和Java语言描述 ppt及答案和其他资源05数组与矩阵》由会员E****分享,可在线阅读,更多相关《数据结构与算法——C语言和Java语言描述 ppt及答案和其他资源05数组与矩阵》请在金锄头文库上搜索。
逍遥游复习 知识点整理
近现代法德关系史 高三展示课3稿
当代大学生人生信仰及追求的调查研究
长相思 纳兰性德-ppt课件
课件:危机意识 一
英语ppt演讲关于阿甘正传
发达国家基础教育改革的动向与趋势 修改版
中国民间美术 课件.ppt
生物质发电技术与系统 课程ppt 第1章 生物质发电技术现状及发展趋势 2学时 -----2016
现代信号处理思考题 含答案
执业药师继续教育 抑郁症的药物治疗 100分
小学生的成长档案模板不用修改 万能型
增订六版 现代汉语 上册 第二章文字 思考与练习答案
国家财政ppt课件
加拿大英语介绍
六年级统计图的选择课件
中学生成长档案ppt
中国现代文学史期末复习整理
lohi和hihilo训练对女子赛艇运动员运动能力影响的比较研究
风雨贾平凹阅读答案
2024-04-11 25页
2024-04-11 37页
2024-04-11 28页
2024-04-11 31页
2024-04-11 36页
2024-04-11 29页
2024-04-11 22页
2024-04-11 27页
2024-04-11 34页
2024-04-11 32页