(1)
void findEle(int[] a, int n, int key) {
for (int i=0; i
printf( "%d\n", i+1);
return ;
}
}
printf("0\n");
return;
}
算法的复杂度为: O(n),最坏为n。
(2)
void findMaxMin(int a[], int n, int &max, int &maxNext) {
if (n ==0 || a == 0) return; //输入的数组为空
if (n==1) { max = maxNext = a[0]; return;} //数组的长度为1, max 和maxNext 都设为a[0]
if (a[1] > a[0] ) { max = a[1]; maxNext=a[0];}
else { max = a[0]; maxNext = a[1];}
for(int i=2; i
else if (a[i] > maxNext) { maxNext = a[i];}
}
return;
}
算法的复杂度: O(n). 最坏情况: 2n (当输入的数组是一个排好序的升序的数组时,循环的每一步都要执行语句a进行数据交换。