栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java 学习 day6: 数组,排序

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 学习 day6: 数组,排序

1.数据结构

计算机存储和组织数据的一种方式,根据存储的方式不同,操作也就不同,合理选择数据结构能够有效的提升存储效率和运行效率.

数据操作:增删改查

常见数据结构:数组,链表,树,图

2.数组

2.1特性

数组:引用数据类型

是一种常见的数据结构,常用来查改操作

数组是解决存储多个变量的问题

数组在内存空间中是连续存储的,并且有独一无二的下表(索引),下标从0开始

但是数组长度一旦确定,不能更改,因为这时候内存已经给你分配好固定的空间了.所以数组不能做添加和删除的操作

想要添加和删除的话需要重新创建一个新的数组空间,然后把原来数组中的元素复制到新数组中,在复制过程中,可以添加和删除

数组有指定下标,并且是连续储存,通过内存地址的偏移,可以快速定位到要操作的数据,所以数组的查询效率是极高的

数组:添加删除慢,查询更改快

2.2数组的声明

静态声明:在已知数组中每个元素的情况下,使用静态声明

这种声明状态下,元素的个数以及每一个元素的值都已经确定写在声明里面了

数据类型[] 变量名 = {值1,值2,值3} ; 

int [] i = {1,2,3,4};                int一维数组

int [] [] a = {{1,2} , {1,2,3} , {1,2,3} }                int 二维数组

int [] [] []  c = ...  i                int 三维数组

数组可以多维,但是每一维的类型必须一致

动态声明:在不知道数组中每个元素的情况下,使用动态声明,需要制定长度,然后用对应默认值占位

        数据类型 [] 名字 = new 数据类型 [长度]  ;

        int []  arr = new int [ 3] ;

        boolean [] arr1 = new boolean [5] ;

        int [] [] arr2 = new int [5] [4] ; 五行四列 即 五个一维数组 每个一维数组里有四个元素 默认值都是0

       三维数组一样道理

各数据类型的默认值:

       整数: 0 , 小数 : 0.0  ,字符:u000, 布尔型 : false  引用类型 : null

2.3.1        查询:

查询: 数组[下标] ;

数组具有长度属性即:arr.length 

最后一个元素为 arr([arr.length - 1]) 

2.3.2        更改:

数组[下标] = 值 ;

arr1 [0] = 100 ;

2.3.3        遍历

一维数组用一个循环,二维数组嵌套两个循环,三位数组嵌套三个循环

2.3.4        常见错误

 

 

 2.4        另一种声明方式

 2.5        传值和传址(传引用)

传值:传递基本类型

传址:传递引用类型

因为引用类型的保存方式为保存的地址,所以改变了引用类型中的内容后,下次再使用的是改变以后的内容

2.6        数组复制

 3.        二维数组

3.1        声明

 

3.2.1        查询

 

 3.2.2        更改

 3.2.3        遍历

 3.3        存储方式

 4        排序

4.1        交换变量的值

 4.2        冒泡排序

1.比较相邻的两个元素,如果第一个比第二个大,就交换位置.

2.对每一对相邻元素做同样的工作,比较完最后一轮后,最后一个一定是最大的

3.在对以上元素重复该步骤,除了最后一个.

4.一直到没有一对元素需要比较,终止

    使用嵌套循环,外层循环决定循环了多少轮,内层循环决定每一轮的比较次数

 

 4.3        选择排序

1.每次都把最小的放到左边

先拿出来第一个,假设他是最小的,然后挨个和后面的所有值进行比较,如果有比他小的那么就将其下标保存

2.比较完以后,就保存了最下的这个下标,然后判断是否和第一个相同,不同就换位

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/294391.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号