取最大值和第二大

  预先定义两个变量来存储最大值和第二大的,并默认为数组第一项

  遍历数组的每一项:

  如果比最大的大,最大值换成当前项了,那么第二大的值就为原来的最大值了

  要求先将原来的最大值赋给第二大的,然后给最大值赋值为当前项值

 如果没有最大值大,和第二大的值比较:

  如果比第二大的大的话,赋给第二大的

  才学的,看了好久才弄明白。。

  private static void MaxAndSecond(ref int max, ref int second, int[] array)
   {
            max = second = array[0];

            foreach (int i in array)
            {
                if (i > max)
                {
                    second = max;
                    max = i;
                }
                else if (i > second)
                {
                    second = i;
                }

            }

   }

posted on 2010-04-16 15:23  gotolovo  阅读(254)  评论(0编辑  收藏  举报