糖逗 发表于 2020-8-17 13:48:31

JAVA学习Day6【二维数组】

本帖最后由 糖逗 于 2020-8-17 13:52 编辑

学习视频:https://www.bilibili.com/video/BV17J411G72L?p=20

108-120

/*
*数组的查找(1)数组中元素时无序的(2)元素是有序的
*/

class test06_01{
        public static void main(String[] args){
                //无序则顺序查找
                int[] arr = {1, 4, 3, 2};
                int value = 2;
                for(int i = 0; i < arr.length; i++){
                        if(arr == value){
                                System.out.println("find!");
                                break;
                        }
                }
                //有序,二分查找
                int[] arr1 = {1, 3, 4, 6, 7, 9};
                int left = 0, right = arr.length - 1;
                int mid = (left + right)/2;
                while(left < right){
                        if(arr == value){
                                System.out.println("找到了!");
                        }else if(value > arr){
                                left = mid + 1;
                        }else{
                                right = mid - 1;
                        }
                        mid = (left + right) / 2;
                }
        }
}


/*
*排序
*/


class test06_02{
        public static void main(String[] args){
                //冒泡排序
                int[] arr = {4, 2, 3, 5, 9};
                //相邻元素比较,不符合就交换
                for(int i = 1; i < arr.length; i++){
                        for(int j = 0; j < arr.length - i; j++){
                                if(arr > arr){
                                        int temp = arr;
                                        arr = arr;
                                        arr = temp;
                                }
                        }
                }

                for(int i = 0; i < arr.length; i++){
                        System.out.println(arr);
                }
                //直接选择排序

                for(int i = 0; i < arr.length - 1; i++){
                        //找出本轮未排序元素中的最小值及其下标
                        int min = arr;
                        int index = i;
                        for(int j = i + 1; j < arr.length; j++){
                                if(arr < min){
                                        min = arr;
                                        index = j;
                                }
                        }
                        //看最小值是否在它应该在的位置
                        if(index != i){
                                int temp = arr;
                                arr = arr;
                                arr = temp;
                        }
                }

        }
}

//数组的维度
class test06_03{
        public static void main(String[] args){
                //静态初始化
                //(1)
                int[][] scores;
                scores = new int[][]{{23,23,43}, {23,33,22, 43}, {33,22}};
                //(2)
                int[][] score = {{23,23,43}, {23,33,22, 43}, {33,22}};
                //遍历
                for(int i = 0; i < scores.length; i++){
                        for(int j = 0 ; j < scores.length; j++){
                                System.out.print(scores + " ");
                        }
                        System.out.println();
                }
                //动态初始化
                //(1)确定行数
                int[][] arr = new int[];
                //(2)确定每一行的列数
                for(int i = 0; i < arr.length; i++){
                        arr = new int;
                }
                //(3)确定元素值
                for(int i = 0; i < arr.length; i++){
                        for(int j = 0; j < arr.length; j++){
                                arr = i + 1;
                        }
                }
                //每行的列数相同可以直接
                int[][]arr1 = new int;
        }
}

页: [1]
查看完整版本: JAVA学习Day6【二维数组】