JAVA学习笔记18(数组,排序,查找)
1.2 排序
*排序是将多个数据,依照指定的顺序进行排列的过程
*排序的分类:
1.内部排序:
*将需要处理的所有数据都加载到内部存储器中进行排序。包括(交换式排序法、选择式排序法和插入式排序法)
2.外部排序法:
*数据量过大,无法全部加载到内存中,需要借助外部存储进行排序,包括(合并排序法和直接合并排序法)
1.冒泡排序
for(int i = 0;i<arr.length-1;i++)
{
for(int j = 0; j<arr.length - i -1;j++)
{
if(arr[j]>arr[j+1])
{
swap(arr[j],arr[j+1]);
}
}
}
1.3查找
*在java中常用查找有两种
1.顺序查找(即遍历查找)
for(int i = 0;i<arr.length;i++)
{
if(arr[i]==yourwant)
{
cout<<"找到了" << endl;
}
}
2.二分查找
1.4二维数组
1.二维数组概念
*arr.length 二维数组元素个数
*二维数组的每个元素是一维数组,所以如果需要得到每一个一维数组的值,还需要再次遍历
2.二维数组的使用
1.动态初始化
*使用方式一:
*语法:
类型[]/[/] 数组名 = new 类型[大小]/[大小/]
int a[]/[/] = new int[2]/[/3]
*使用方式二:
1.先声明:类型 数组名[]/[/];
2.再定义(开辟空间) 数组名 = new 类型[大小]/[大小/]
3.赋值(有默认值,比如int 类型的就是0)
*使用方式三:
*语法
int[][] arr = new int[3][];
for(int i = 0;i <arr.length;i++)
{
//给每一个一维数组开空间new
//如果没有给一维数组new,那么arr[i]就是Null
arr[i] = new int[i+1];
//遍历一维数组,并给一维数组的每个元素赋值
for(int j=0;j<arr[i].length;j++)
{
arr[i][j] = i+1;
}
}
*使用方式四:
*语法:
类型 数组名[]/[/] = {{值1,值2…},{值1,值2…}…}
int[]/[] arr = {{1,1,1},{10,10,10}};
2.二维数组的遍历
for(int i =0;i<arr.length;i++)
{
for(int j = 0;j<arr[i].length;j++)
{
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
3.二维数组使用细节和注意事项
1.一维数组的声明方式有:
int[] x或者 int x[]
2.二维数组的声明方式有:
int[]/[] y 或者 int[] y[] 或者 int y[]/[]
3.二维数组实际上是由多个一维数组组成的,它的各个一维数组长度可以相同,也可以不同。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
二维码