(1)在数组A[1..n]中查找值为K的元素,若找到则输出其位置i(1≤i≤n),否则输出0作为标志.
(2)找出数组A[1..n]中元素的最大值和次最大值(本小趋同以数组元素的比较为标准操作)
第一题处定义 int a[] ,你看看。第二题:int &max, int &maxNext 这种定义以前没见,是啥意思,还有第二题能再加点注释吗?本人愚,看的不是很明白。。谢谢,大侠。
追答第一题中a的下标是从0到n-1的,如果要1-n改为:
void findEle(int[] a, int n, int key) {
for (int i=1; i a[1] ) { max = a[2]; maxNext=a[1];} //首先将max设置为a1和a2中最大的一个。
else { max = a[2]; maxNext = a[1];}
for(int i=3; i max) {maxNext= max; max = a[i]; } //如果a[i]大于max,那么maxNext置为当前的max, max置为a[i]
else if (a[i] > maxNext) { maxNext = a[i];} //如果 a[i] maxNext, 将maxNext置为a[i].
}
printf("max = %d, maxNext=%d\n", max, maxNext);
return;
}