欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

快速找到一个数组中的最大值、次大值及最小值

程序员文章站 2024-03-15 21:26:00
...

快速找到数组中的最大值、次大值及最小值

本文主要用于将一个数组中的最大值、最小值和次大值通过java代码实现出来。有的伙伴肯定也想过可以将数组进行排序在直接取值,虽然这样也可以,但终究代码效率会慢一些。如果需要具体详情,可以参考数据结构中关于排序的部分。

package com.cyl.day05;

/**
 * 快速找出一个数组中的最大数、第二大数。
 * @author CLY
 *
 */
public class SearchBig {
    public static void main(String[] args) {
        int[] arr= {10,2,3,9,33,22,55,99,96};
        getBig(arr);
        getMin(arr);
    }

    //寻找数组最大和第二大的元素
    public static void getBig(int[] arr) {

        //big_1用来标记一个数组中的最大值
        int big_1 = arr[0];
        //big_2用来标记一个数组中的次大值
        int big_2 =Integer.MIN_VALUE;
        for(int i=1;i<arr.length;i++) {
            if(arr[i]>big_1) {
                big_2 = big_1;
                big_1 = arr[i];

            }else if(arr[i]>big_2 && arr[i]!=big_1){
                big_2 = arr[i];
            }
        }
        System.out.println("数组中最大的数是:"+big_1+"第二大的数是:"+big_2);
    }

    //寻找最小值
    public static void getMin(int[] arr) {
        int min = arr[0];
        for(int i=1;i<arr.length;i++) {
            if(arr[i]<min) {
                min = arr[i];
            }
        }
        System.out.println("该数组中最小的值为"+min);
    }

}