数组
2023-04-10 20:31:18 12 举报
AI智能生成
思维导图
作者其他创作
大纲/内容
思想:- 1.将相邻的两个元素进行比较,如果前面一个元素比后面的大,就交换位置(一轮比较) 直到比较完 整个数组,称为一轮 - 在这一轮可以将最大的值 比较到最后- 2.以上操作需要完成的次数数组长度-1
冒泡排序
思想:- 1.将当前这个位置上的元素与后面的每一个元素进行比较,如果有比当前位置小的元素,先记录下来,等所有元素比较完,进行交换 - 一次循环可以将最小的交换到最左边- 2.以上操作可以将最小的选择到指定位置。
选择排序
Arrays.sort(数组名);
Arrays工具类提供的排序方法
数组的排序
前提:数组必须有序的题
前提
- 1.首先确实数组中的中间元素,与你要查找的元素进行比较。如果相等那么就是你要找的数本身- 2.如果比中间元素大,那么要找的数一定在中间元素的右边 所以最小值小下标等于 中间值的下标+1- 3.如果比中间元素小,那么要找的数一定在中间元素的左边 所以最大值小下标等于 中间值的下标-1
思想:
二分查找法(折半查找法)
二维数组中存放的每一个元素,是一个一维数组。
静态
int [][] arr1=new int[3][ ];
二维数组在动态初始化的时候 可以先不指定一维数组长度 但必须要指定二维数组的长度
一维数组可以先不指定 但是一旦指定了长就固定了
/如果在定义二维数组的时候没有给一维数组传入长度 那么在使用之前一定要初始化 不然 空指针异常
注意
int [][] arr1=new int[3][2];
动态
二维数组的创建
二维数组遍历
二维数组
1.带有可变参数的方法进行调用的时候 实参个数 可以是0个 也可以是多个
2.可变参数只能放在参数列表的最后 并且 可变参数一个方法只能有一个
3.可变参数可以当作数组来使用 也可以将数组作为参数
特点
可变参数
数组在内存中一块连续的存储空间,可以保存 相同类型 多个数据的容器哦 且 长度固定。
概念
数组保存保存的数据必须是相同的数据类型
数组的长度是固定的(一旦定义好 不可改变)
数组
数据类型 [ ] 数组名 = new 数据类型 [ 长度]
数据类型 数组名[ ] =new 数据类型[ 长度]
动态初始化
静态初始化
数组的创建
整数型数组默认值:0浮点型默认值:0.0布尔型数组默认值:false字符型数组默认值:‘ ’ 0 或者‘ \\u0000’引用类型默认值是:nul(null 是一个特殊的值 表示当前对象在内存当中不指向任何地址)
子主题
数组的默认值(在数组创建的时候没有赋值的时候是有默认值的)
int[] newArr=new int[oldArr.length+5];for (int i = 0; i <oldArr.length ; i++) { newArr[i]=oldArr[i]; }System.out.println(oldArr);oldArr=newArr;
1.定义一个新的数组2.将原数组的值依次赋值给新数组3.将数组名指向新数组的地址
System.arraycopy
Arrays.copyOf
系统提供的扩容方法
扩容
缩容
数组的扩容、缩容
0 条评论
回复 删除
下一页