求第二大的数
10000个数求第2大的数,不许用排序算法.
int i = 0, j = 1;
int MAX, max;
while (j<sizeof(a)/sizeof(a[0]))
{
if (a[0] != a[j++])
{
j --;
break;
}
}
if (j == sizeof(a)/sizeof(a[0]))return -1;
MAX=a[0]>a[j]?a[0]:a[j], max=a[0]<a[j]?a[0]:a[j];
for (i=2; i < sizeof(a)/sizeof(a[0]; i ++)
{
if (max < a[i])
{
if (MAX < a[i])
{
max = MAX;
MAX = a[i];
}else
{
max = a[i];
}
}
}
数组a为自己定义,max为所求的第二大值