预先定义两个变量来存储最大值和第二大的,并默认为数组第一项
遍历数组的每一项:
如果比最大的大,最大值换成当前项了,那么第二大的值就为原来的最大值了
要求先将原来的最大值赋给第二大的,然后给最大值赋值为当前项值
如果没有最大值大,和第二大的值比较:
如果比第二大的大的话,赋给第二大的
才学的,看了好久才弄明白。。
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;
}
}
}