找到数组中最小和最大的元素以及元素的打印位置

时间:2012-11-29 17:27:49

标签: java arrays

在不使用算法的情况下,找到数组中最大和最小元素并打印其索引位置的最简单方法是什么。有没有办法使用循环或if语句来完成它,因为我是java的新手,而且据我所知,这是现在的。

这是我的数组代码:

import java.io.*;
public class Tut2ArraysQ4
{

public static void main(String [] args) throws IOException
{
 BufferedReader kbd = new BufferedReader(new InputStreamReader(System.in));

int []item=new int[5];
    for (int i = 0; i < item.length; i++)
        {
            System.out.println("Enter a number: ");
            int num=Integer.parseInt(kbd.readLine());
            System.out.println("Index " + i + " Contains Number "     + num);
        }

}//end class
}//end main

我很感谢你的帮助

2 个答案:

答案 0 :(得分:2)

你声明两个变量等于数组第一个位置的元素,两个变量等于第一个位置。

int min = array[0];
int max = array[0];
int posMin = 0;
int posMax = 0;

对数组的所有位置进行迭代迭代:

   for(all the position of the array)
      // if current position bigger than max
         // max = element of the array in the current position
         // posMin = current position
     // if current position smaller than min
        // min = element of the array in the current position
        // posMax = current position

另一种方法是对数组进行排序,最小元素将位于第一个位置,最大元素位于数组的最后位置。但是,此解决方案通常N lg N,而第一个我在N中发布效果。如果你使用基数排序,它将需要k N,但是:

  

有时k表示为常数,这将使基数排序   比最好的基于比较的更好(对于足够大的n)   排序算法,都是O(n·log(n))。但是,一般来说k   不能算是一个常数。

了解更多about

答案 1 :(得分:0)

对不起,但不幸的是,如果不使用算法,就没有办法做你想做的事情。

即使你选择2个数字并且捕食你是对的,你也会使用算法。