4.数组算法相关

1.求数值型数组的最大值、最小值、总和、平均数

            int[] arr = new int[] { 4, 3, 6, 8, 2, -98, 0, -66, 76 };

            // 求数组元素的最大值

            int maxValue = arr[0];

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

                if (maxValue < arr[i]) {

                    maxValue = arr[i];

                }

            }

            System.out.println("最大值为:" + maxValue);

        // 求数组元素的总和

            int sum = 0;

            for (int i = 0; i < arr.length; i++) {

                sum += arr[i];

            }

            System.out.println("总和为:" + sum);

            // 求数组元素的平均数

            int avg = sum / arr.length;

            System.out.println("平均数为:" + avg);


2.数组的反转 和 复制

    //2.1数组的反转:

            // 方式一:

            // for(int x = 0,y = arr.length - 1;x < y;x++,y--){

                            // int temp = arr[x];

                            // arr[x] = arr[y];

                            // arr[y] = temp;

            // }

           // 方式二

            for (int i = 0; i < arr.length / 2; i++) {

                    int temp = arr[i];

                    arr[i] = arr[arr.length - 1 - i];

                    arr[arr.length - 1 - i] = temp;

               }

            //Sring str = "abcdefg";-->"gfedcba"

        //2.2数组的复制,得到新的数组:array

        // 复制不同于赋值。赋值操作为:array = arr;

            int[] array = new int[arr.length];

            for (int i = 0; i < array.length; i++) {

                    array[i] = arr[i];

            }

//将array1的地址值赋给array2,并没有实现数组的复制!    

4.数组算法相关_第1张图片
赋值

//实现对array1数组的复制


4.数组算法相关_第2张图片
数组复制

3.数组的排序

        插入排序

        直接插入排序、折半插入排序、Shell排序

        交换排序

        冒泡排序、快速排序(或分区交换排序)

        选择排序

        简单选择排序、堆排序

        归并排序

        基数排序

// 使用冒泡排序实现数组的从小到大排序

/*for (int i = 0; i < arr.length - 1; i++) {

        for (int j = 0; j < arr.length - 1 - i; j++) {

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

                    int temp = arr[j];

                    arr[j] = arr[j + 1];

                    arr[j + 1] = temp;

                }

            }

    }*/


//操作数组的工具类:Arrays

Arrays.sort(arr);//底层使用的实际是快速排序。

你可能感兴趣的:(4.数组算法相关)