- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数组与数据结构
面向对象程序设计学 数组与数据结构 课程目标 数组概念 数组分类 数组声明与定义 数组初始化 数组内存结构分析 数组的使用 排序算法 数据拷贝 自增数组 栈与队列数据结构 多维数组简介 数组概念 数组是用来存储一组数据类型相同数据的数据结构。 数组也是一种引用类型。 数组的元素可以是基本类型的数据(基本类型数组),也可以是引用类型的数据(引用类型数组)。 数组分类 一维数组 多维数组 1、二维数组 2、三维数组 数组声明 数组声明 □一维数组 type[] arr_name; type arr_name[]; □二维数组 type[][] arr_name; type arr_name[][]; □三维数组 type[][][] arr_name; type arr_name[][][]; 例子: int[] a; float b[]; String c[]; Date[] d; 数组定义 数组定义 □一维数组 type[] arr_name = new type[length]; type arr_name[] = new type[length]; □二维数组 type[][] arr_name = new type[rlength][clength]; type arr_name[][] = new type[rlength][clength]; □三维数组 type[][][] arr_name = new type[xlength][ylength][zlength]; type arr_name[][][] = new type[xlength][ylength][zlength]; 数组定义规则 (1)在声明数组时不能指定数组的大小 (2)通过new操作符来创建数组对象,指定数组的大小,给数组元素的存储分配空间 数组初始化 在创建完数组后,可以对数组进行初始化,也就是给数组的各个元素进行赋值。 可以采用两种方式为数组进行初始化: 静态初始化 动态初始化 数组初始化-静态 在数组定义的同时,对数组进行初始化 利用这种方式进行数组的初始化,其实完成了三步动作: 数组声明 数组创建 数组初始化 数组初始化-动态 所谓数组的动态初始化,就是将数组的定义和数组的初始化分开来进行。 例子: int[] a; a = new int[10]; for (int i = 0;i10;i++) { a[i] = 2*i+1; } 数组内存结构分析-基本 在定义数组的时候,系统会给这个数组分配用于存放这个数组的内存空间,如图所示(以int类型数组为例) 数组内存结构分析-基本 在创建简单数据类型的数组的时候,系统会分配合适的空间用来存放该种数据类型数据的内存空间,并且将这个数组的各个元素赋一个和数组类型匹配的初值。 数组内存结构分析-基本 对于简单数据类型的数组,当对其进行初始化时,会将对应的值赋给对应的各个数组元素。 数组内存结构分析-引用 引用类型数组的定义和简单类型数据类型数组的定义并无二致 数组内存结构分析-引用 引用数据类型数组在创建的时候也是首先给数组元素分配内存空间,然后给这些数组元素一个默认的初始值null。 数组内存结构分析-引用 在进行引用数据类型数组的初始化的时候,和简单数据类型数组的初始化有些不同,因为数组本身是引用类型,而现在数组元素也是引用类型,所以这个时候需要给数组元素所引用的对象也分配内存空间。 数组的使用 通过数组名和数组索引来引用一个数组中的元素,数组的索引从0开始到数组长度减1,如arr[0]表示数组arr中的第1个元素,数组的第二个元素为arr[1]等。 可以使用数组的一个属性length来获得数组的长度。 排序算法 利用一维数组来进行冒泡排序: 对几个无序的数字进行排序,最常用的方法是所谓的冒泡排序法。这种方法每次比较两个相邻的数,将较小的放到前面,较大的放到后面,这样就可以将这些数中的最大的找出来访到最后,然后比较剩下的数,再在这些数中找出最大的来,直到所有的数字按照从小到大的顺序排列 可以用一个一维数组来存放这些需要进行排序的数字,然后对这个一维数组进行排序 数组拷贝 可以将一个数组变量拷贝给另一个数组变量,这个时候,这两个数组变量均指向相同的数组。 数组拷贝 如果只是需要将数组的值拷贝到另一个数组,可以使用System的一个静态方法arrayco
文档评论(0)