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]

image-20240317194200459

*使用方式二:

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
分享
二维码
< <上一篇
下一篇>>