首先,运用复杂度最简单的方法,时间复杂度,空间复杂度都是一个常数 O(1),遍历一次就可以全部找出来。
# include <stdio.h>
int main()
{
int a[6]={5,1,2,4,6,9}, i;
int *first, *second;
if (a[0]>a[1])
{
first=&a[0];
second=&a[1];
}
else
{
first=&a[1];
second=&a[0];
}
for (i=2; i<=5; i++)
{
if(a[i]>*first)
{
second=first;
first=&a[i];
}
else if(a[i]>*second)
second=&a[i];
}
printf("%d, %d\n", *first, *second);
return 0;
}