首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在没有Arrays.sort的Java中查找数组列表中的最小整数值

在没有Arrays.sort的Java中查找数组列表中的最小整数值
EN

Stack Overflow用户
提问于 2013-12-15 00:43:53
回答 5查看 87.5K关注 0票数 2

如何在不改变数组顺序的情况下找到整型数组中的最小值?

代码片段:

代码语言:javascript
复制
    int[] tenIntArray = new int [10];
    int i, userIn;

    Scanner KyBdIn = new Scanner(System.in);
    System.out.println("Please enter 10 integer numbers ");

    for(i = 0; i < tenIntArray.length; i++){
        System.out.println("Please enter integer " + i);
        userIn = KyBdIn.nextInt();
        tenIntArray[i] = userIn;
    }

我不确定如何在tenIntArray中找到最小的数组值并显示位置

例如,数组holds [50, 8, 2, 3, 1, 9, 8, 7 ,54, 10]

输出应该是"The smallest value is 1 at position 5 in array

EN

回答 5

Stack Overflow用户

发布于 2013-12-15 02:57:26

试试这个:

代码语言:javascript
复制
//Let arr be your array of integers
if (arr.length == 0)
    return;
int small = arr[0];
int index = 0;
for (int i = 0; i < arr.length; i++) {
    if (arr[i] < small) {
        small = arr[i];
        index = i;
    }
}
票数 4
EN

Stack Overflow用户

发布于 2015-05-11 17:37:12

我提出的方法将同时找到minmax

代码语言:javascript
复制
public static void main(String[] args) {
    findMinMax(new int[] {10,40,50,20,69,37});
}
public static void findMinMax(int[] array) {
    if (array == null || array.length < 1)
        return;
    int min = array[0];
    int max = array[0];

    for (int i = 1; i <= array.length - 1; i++) {
        if (max < array[i]) {
            max = array[i];
        }

        if (min > array[i]) {
            min = array[i];
        }
    }
    System.out.println("min: " + min + "\nmax: " + max);
}

显然,这不是最优化的解决方案之一,但它将为您工作。它使用简单的比较来跟踪minmax的值。输出为:

min: 10 max: 69

票数 1
EN

Stack Overflow用户

发布于 2015-07-30 18:22:39

代码语言:javascript
复制
    int[] input = {12,9,33,14,5,4};

    int max = 0;
    int index = 0;
    int indexOne = 0; 
    int min = input[0];
    for(int i = 0;i<input.length;i++)
    {
        if(max<input[i])
        {
            max = input[i];
            indexOne = i;
        }

        if(min>input[i])
        {
            min = input[i];
            index = i;
        }

    }
    System.out.println(max);
    System.out.println(indexOne);
    System.out.println(min);
    System.out.println(index);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20585702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档