第十周 5.7 数组(二)

四、二维数组
        1.二维数组:类似于excel表格,有行和列构成
        2.行标和列标都是从0开始,访问二维数组通过行和列进行访问:

                数组名[行下标/高纬][列下标/低维]
        3.二维数组的定义:数据类型П 数组名=new 数据类型[行数][列数];

                int[][] a= new int[4][3];  // 4行3列二维数组

五、数组的排序
        1.排序:将数组中元素按照一定的排序顺序进行存储
        2.排序方式:从小到大
                (1)冒泡排序:每次将相邻的两个元素进行一一比较,较大的值往后放
                        int[]a={9,4,5,2,6,3,1,9};
                        /*

                            从小到大进行排序冒泡排序:每次将相邻的两个元素进行一一比较,较大的值往后
                                下标:0   1   2   3

                                元素:9   4   5   2

                            -------------第一轮------------

                                a0~a1   4   9   5   2

                                a1~a2   4   5   9   2

                                a2~a3   4   5   2   9  (最大值)

                            -------------第二轮-------------                            

                                a0~a1   4   5   2   9

                                a1~a2   4   2   5   9

                              -------------第三轮------------- 

                                 a0~a1   2   4   5   9

                        */

                      //第i=1 轮:使用 a[j]代表第一个比较项,相邻 的一项 a「i+1]

                /*

                        for(int j=0;j<3;j++){

                                //x=4-i=a.length -i

                                //使用 a[j] 和 a[i+1]进行比较
                                if(a[i]> a[i+1]){

                                        // 交换:借助第三遍历

                                        int temp = a[j];

                                        a[j]= a[j+1];

                                        a[j+1]= temp;

                                }

                        }

                }

                // 第i=2轮:

                for(int j=0;j<2 ;j++){
                        // 使用 a[j]和 a[j+1]进行比较
                        if(a[j]> a[j+1]){

                                // 交换:借助第三遍历

                                        int temp = a[j]:

                                        a[j]= a[j+1];

                                        a[j+1]= temp; 

                        }

                }              

                // 第i=3轮

                for(int j=0;j<1;j++){

                        // 使用 a[j]和 a[j+1]进行比较

                        if(a[j]> a[j+1]){

                                // 交换:借助第三遍历

                                int temp = a[j];
                                a[j]= a[j+1];
                                a[j+1]= temp;

                        }

                }

        */

                // 外层循环控制比较的轮数

                for(int i=1;i<a.length;i++){

                        // 内层循环,控制每一轮具体比较的内容
                        for(int j=0;j< a.length-1;j++){

                                //使用 a[j]和 a[j+1]进行比较
                                if(a[j]> a[j+1]){
                                        // 交换:借助第三遍历
                                                int temp= a[j];
                                                a[j]= a[j+1];
                                                a[j+1]= temp;

                                }

                        }

                }

                for(int i=0;i<a.length;i++){
                        System.out.print(a[i]+"\t");
        (2)第二种:借助工具类
                java.util.Arrays.sort(数组名);

                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值