#include<iostream>
using namespace std;
int secondMin(int a[], int i, int j)
{
int mid = (i+j)/2+1;
int min1 = a[i];
int min2 = a[mid];
for(i;i<mid;i++)
{
if(min1>a[i+1])
{
min1 = a[i+1];
}
}
for(mid;mid < j;mid++)
{
if(min2>a[mid+1])
{
min2 = a[mid+1];
}
}
if(min1>min2)
{
return min1;
}
else
{
return min2;
}
}
int main()
{
int a[6] = {-20, 11, -4, 13, -5, -2};
int secondMIN = secondMin(a, 0, 5);
cout<<secondMIN<<endl;
system("pause");
return 0;
}
求一组数的第二小的数。用分治法解决。
最新推荐文章于 2024-07-10 16:47:58 发布