给定一个整型数组,数组成员10个,求该数组中第二大的数的下标。
思路及代码:
给定一个整型数组,数组成员10个,求该数组中第二大的数的下标。
思路:
这种只适用于第二大的数存在且只有一个的情况
1.max2和max1初始都是下标为0,
2.遍历数组,判断,是a[i]是否比max1大,如果为真,把max的下标给 max2,自己的下标给max1,如果当前a[i]比max1小且比max2大,就把当前下标给max2,这样,max2始终要比max1小,并且紧挨着max1的值
3.打印max2
public static void main(String[] args) {
int[] a = {2,11,6,8,3,5,9,13,13,11};
int max1 =0;
int max2 =0;
for (int i = 0; i < a.length; i++) {
if(a[max1]<a[i]) {
max2 = max1;
max1 = i;
}
else if(a[i] > a[max2] && a[i] < a[max1]) {
max2 = i;
}
}
System.out.println(max2);
}