几种方法找到整型阵列中的最大值和最小值

在整型阵列中,我们需要从中获取阵列元素的最大值和最小值:

方法一:先是使用Array进行排序,然后从排序后数组中,最一个元素为最小,最后一个元素为最大。

 

public static int FindMaxNumber(params int[] stringValue)
        {           
            Array.Sort(stringValue);
            return stringValue[stringValue.Length -1];
        }
      
        public static int FindMinNumber( params int[] stringValue)
        {           
            Array.Sort(stringValue);
            return stringValue[0];
        }
Source Code


方法二:此方法是宣告一个变量,变量的值为阵列中第一个元素值。然后从第二个元素开始循环,并与变量比较。
求最大元素,如果所比较的值大小于变量,就把元素的值赋给变量。
求最小元素与求最大值正好相反,所比较的值小于变量,就把所比较的值赋给变量。



     public static int FindMaxNumber(params int[] intArray)
        {
            int v = intArray[0];
            if (intArray.Length > 1)
            {
                for (int i = 2; i < intArray.Length; i++)
                {
                    if (intArray[i] > v)
                        v = intArray[i];
                }
            }
            return v;
        }

        public static int FindMinNumber(params int[] intArray)
        {
            int v = intArray[0];
            if (intArray.Length > 1)
            {
                for (int i = 2; i < intArray.Length; i++)
                {
                    if (intArray[i] < v)
                        v = intArray[i];
                }
            }
            return v;
        }       
Source Code

 

方法三:

 

 public static int FindMaxNumber(params int[] intArray)
        {
            return intArray.Max();
        }

        public static int FindMinNumber(params int[] intArray)
        {
           return intArray.Min();
        }
Source Code


三种方法均演示:

 

  static void Main(string[] args)
        {
            int[] value = { 15, 23, 41, 97, 100, 27, 67, 51 };

            Console.WriteLine("Class3:");
            Console.WriteLine("Max: {0}",Class3.FindMaxNumber(value));          
            Console.WriteLine("Min: {0}",Class3.FindMinNumber(value));

            Console.WriteLine("Class4:");
            Console.WriteLine("Max: {0}", Class4.FindMaxNumber(value));
            Console.WriteLine("Min: {0}", Class4.FindMinNumber(value));

            Console.WriteLine("Class5:");
            Console.WriteLine("Max: {0}", Class5.FindMaxNumber(value));
            Console.WriteLine("Min: {0}", Class5.FindMinNumber(value));
        }
Source Code


执行结果:


 

下列内容于2017-12-06 10:20分更新:
以上有Class4类别有点问题,我们从第2个元素循环,但它的索引是从0开始,第二个元素的索引就是1,循环所有元素才是较安全的:

 

posted @ 2017-12-04 10:07  Insus.NET  阅读(1361)  评论(0编辑  收藏  举报