当前位置: 代码迷 >> Java相关 >> 新手数组中最小值的相关有关问题
  详细解决方案

新手数组中最小值的相关有关问题

热度:3879   发布时间:2013-02-25 21:44:55.0
新手求助:数组中最小值的相关问题
Java code
 class text{     public static void main(String[] args)     {         int[] arr={1,2,3,4,5,6};         System.out.println("数组中最小值为:"+ getMin(arr));    }    public static int getMin(int[] arr)   {         int n=arr[0];         for(int i=0;i<arr.length;i++)        {             if( arr[i]<n)            {                 n=arr[i];            }        }        return n;   }}



getMin(int[] arr)这个方法的实现不是很明白,搞不懂是如何找出最小值的,尤其是那个int n=arr[0]有什么作用呢,问什么要用arr[0]呢,为什么是0而不是其他呢,困惑啊帮帮我!!!

------解决方案--------------------------------------------------------
可以用别的,主要作用是有一个初始值,而不是随意设置一个值(当然也可以):
Java code
public static int getMin(int[] arr) {  int n=arr[arr.length-1];  for(int i=0;i<arr.length-1;i++) {     if( arr[i]<n) n=arr[i];  }  return n;}
------解决方案--------------------------------------------------------
int n=arr[0];
int n可以在数组中随便取值 (甚至可以是其它值的)

楼主可以这样理解:
假设n此时是最小值
拿n去和和数组中的每个数比较
当数组中有数比n小时 则改变最小值n为这个数
然后用n再去比较
知道循环结束 此时n当然是最小值
  相关解决方案