数组的常用算法


1.求数组元素的最大值、最小值、平均数、总和等

public class w {
    public static void main(String[] args) {
        int[] a = new int[]{964, 5487, 7878, 5, -978, 56489};
        //最大值
        int max = a[0];
        for (int i = 0; i < a.length; i++) {
            if (max < a[i]) {
                max = a[i];
            }
        }
        System.out.println("数组的最大值为:" + max);
        //最小值
        int min = a[0];
        for (int i = 0; i < a.length; i++) {
            if (min > a[i]) {
                min = a[i];
            }
        }
        System.out.println("数组的最小值:" + min);
        //总和
        int sum = a[0];
        for (int i = 0; i < a.length; i++) {
            sum += a[i];
        }
        System.out.println("总和为: " + sum);
        //平均数
        int avg = a[0];
        avg=sum/a.length;
        System.out.println("平均值为: "+avg);
    }
}

2.数组的复制,反转

public class TestArray {
    public static void main(String[] args){
        //声明array1和array2
        int[] array1,array2;
        //使用大括号,把array1初始化为8个素数
        array1=new int[]{2,3,5,7,11,13,17,19};
        //显示array1的内容(遍历)
        for (int i=0;i<array1.length;i++){
            System.out.print(array1[i]+"\t");
        }
        System.out.println();
        //赋值array2变量等于array1,修改array2中的偶索引元素,使其等于索引值(如array[0]=0,array[2]=2)
        //打印出array1
        array2=array1;
        for (int i=0;i<array2.length;i++){
            if (i%2==0){
                array2[i]=i;
            }
            System.out.print(array2[i]+"\t");
        }
    }
}

public class TestArray {
    public static void main(String[] args){
        //声明array1和array2
        int[] array1,array2;
        //使用大括号,把array1初始化为8个素数
        array1=new int[]{2,3,5,7,11,13,17,19};
        //显示array1的内容(遍历)
        for (int i=0;i<array1.length;i++){
            System.out.print(array1[i]+"\t");
        }
        System.out.println();
        //赋值array2变量等于array1,修改array2中的偶索引元素,使其等于索引值(如array[0]=0,array[2]=2)
        //打印出array1
        array2=array1;
        for (int i=0;i<array2.length;i++){
            if (i%2==0){
                array2[i]=i;
            }
            System.out.print(array2[i]+"\t");
        }
        System.out.println();
        for (int i=0;i<array1.length;i++){
            System.out.print(array1[i]+"\t");
        }
        System.out.println();
    }
}


注意:array2=array1的意思将array1的地址和值赋给array2,所以,当在array2中有改动时,在array1中也有改动

3.数据元素的反转

public class TestArray {
    public static void main(String[] args){
        int[] a=new int[]{1,3,5,7,9,11};
        //(遍历)输出数组a中的值
        for (int i=0;i<a.length;i++){
            System.out.print(a[i]+"\t");
        }
        System.out.println();
        //开始数组元素的反转
        for (int i=0;i<a.length/2;i++){
            int temp=a[i];
            a[i]=a[a.length-1-i];
            a[a.length-1-i]=temp;
        }
        for (int i=0;i<a.length;i++){
            System.out.print(a[i]+"\t");
        }
    }
}

posted @ 2018-12-12 22:17  T&K  阅读(348)  评论(0编辑  收藏  举报