冒泡排序和二维数组

冒泡排序:这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
冒泡排序需要用到双循环来进行操作
主要步骤(升序为例):
1、首先我们需要定义循环的次数,循环次数为数组的长度减去1
2、在内循环里边进行循环比较过程,如果前一个数字比后一个数字大,那么交换这两个数字的位置
3、如果前一个数字比后一个数字小,那么位置不变
主要代码如下:

    for (int i = 0; i < a.length-1; i++) {
        //循环比较过程
        for (int j = 0; j < a.length-1-i; j++) {
            if (a[j]>a[j+1]){//前一个比后一个大
                //需要交换
                int tmp=a[j];
                a[j]=a[j+1];
                a[j+1]=tmp;
        }
    }
    System.out.println("经过"+(i+1)+"次比较,数组变为" );
        System.out.println(Arrays.toString(a));
    }
}
    System.out.println(Arrays.toString(a));

冒泡排序速记口诀(升序)
N 个数字来排队
两两相比小靠前
外层循环 N-1
内层循环 N-1-i
二维数组:二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。
二维数组的定义:

    int[][] a=new int[5][5];
    
    int[][] b;
    b=new int[3][2];
    
    int[][] c={{1,2},{3,4},{5}};

一共有三种表达式,最常用的是第一个

二维数组的长度表示:
a.length表示一维数组的个数,即二维数组的行数
a[0].length表示每个一维数组的个数,即二维数组第一行的列数
Arrays的用法:
遍历: toString() 将数组的元素以字符串的形式返回
排序: sort() 将数组按照升序排列

你可能感兴趣的:(教学)