第四节、数据结构
2018-07-19 05:38:24来源:博客园 阅读 ()
一、 概述
我的感觉是数据类型中的某些特殊数据类型组成,他是属于属性的组成之二数据类型;
二、 分类数组为相同数据类
1、数组
1.1概述
三、 型的元素组成的集合,数组元素按线性顺序排列
注:线性顺序是指除第一个元素外,每一个元素都有唯一的前驱元素;除最后一个元素外,每一个元素都有唯一的后继元素(“一个跟一个”),可以通过元素所在位置的顺序号(下标)做标识访问每一个元素(下标从0开始,最大到元素个数-1);
1.2使用
1.2.1数组的声明
声明数据的语法一为:数据类型[] 数组名;
声明数组的语法二为: 数据类型[] 数组名 = new 数据类型 [ 正整数表示数组的长度] ;
(1)确切的数据类型:用于开辟空间大小
(2)整体的数组名字:用于对数据的引用
(3)不能缺少的“ [ ] ”
注:声明数组的时候,int[] arr 与 int arr [] 两种写法均可。常用方式为int[] arr。
1.2.2数组的初始化
(1)int [ ] arr = { 10,23,30,-10,21 } ;
(2)int[] arr;
arr = new int[]{ 10,23,30,-10,21 };
(3)int[] arr = new int[]{ 3,6,8,9 };
(4)int[] arr = new int[10]; arr[1]=1;
1.2.3数组访问
(1)获取数组的长度int[] arr = new int[]{ 3,6,8,9 };
int len = arr . length ;
(2)通过下标访问数组元素
int temp = arr [ 2 ]; //获取第3个元素,即为6
(3)遍历数组元素
通常可选择for循环语句,循环变量作为访问数组元素的下标,即可访问数组中的每一个元素
注意:循环的计数器的变化范围从0到数组长度– 1,可通过写成“小于长度”这样的条件来防止下标越界(超出范围)。
(4)数组的复制
System.arraycopy方法用于数组复制:
public static void arraycopy(Object src, int srcPos,Object dest, int destPos, int length)
- src:源数组
- srcPos:源数组中的起始位置
- dest:目标数组
- destPos : 目标数组中的起始位置
- length:要复制的数组元素的数量
Arrays.copyOf方法用于数组复制:
类型[ ] newArray = Arrays.copyOf ( 类型[ ] original , int newLength )
- newLength小于源数组,则进行截取;(自己通过代码演示效果);
- newLength大于源数组,则用0或 null进行填充;
(5)数组的扩容
int [ ] a = { 10,20,30,40,50 } ;
a = Arrays . copyOf ( a, a.length+1 );
1.2.4数组的排序
(一)概述
所谓排序,是指将数组元素按照从小到大或从大到小的顺序重新排列
(二)分类
常用排序算法有:插入排序、冒泡排序、快速排序等;
(三)冒泡排序
它的排序原则为:比较相邻的元素,如果违反最后的顺序准则(从大到小或是从小到大),则交换。可以简化理解为:第一次找到所有元素中最大(或最小)的放在最后一个位置上,不再变动;第二次找到剩余所有元素中最大(或最小)的放在倒数第二个位置上,不再变动,以此类推,直到排序完成。在进行比较时既可以采用“下沉”的方式,也可以使用“上浮”的方式实现。
(四)Arrays.sort方法用于数组排序
int[ ] arr = { 49, 81, 1, 64, 77, 50, 0, 54, 77, 18 };
Arrays.sort( arr ) ;
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 数据结构:用实例分析ArrayList与LinkedList的读写性能 2020-06-04
- 数据结构之链式队列的代码实现及有趣应用 2020-05-29
- 学好程序员必知必会的数据结构,这一份书单你值得拥有! 2020-05-12
- 【数据结构】数组 2020-05-08
- 为什么要学习数据机构?学习数据结构有什么意义和作用? 2020-05-06
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash