数组的常用算法

Posted keepcalmandneversaynever

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组的常用算法相关的知识,希望对你有一定的参考价值。

技术分享图片
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]+"	");
        }
        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]+"	");
        }
    }
}

技术分享图片

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]+"	");
        }
        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]+"	");
        }
        System.out.println();
        for (int i=0;i<array1.length;i++){
            System.out.print(array1[i]+"	");
        }
        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]+"	");
        }
        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]+"	");
        }
    }
}

技术分享图片






以上是关于数组的常用算法的主要内容,如果未能解决你的问题,请参考以下文章

常用编程思想与算法

36个工作中常用的JavaScript函数片段

常用Java程序片段

可以解密加密数据的片段吗?

计算机视觉常用算法讲解

JDK常用数据结构