1.数组的局部最小元素
#include <iostream>
using namespace std;
int find(int a[],int begin,int end)
{
int N=end+1;
if(N==1)
return 0;
if(a[0]<a[1])
return 0;
if(a[N-1]<a[N-2])
return N-1;
while(begin<end)
{
int mid=(begin+end)/2;
if(a[mid-1]>a[mid]&&a[mid]<a[mid+1])
return mid;
else if(a[mid-1]<a[mid]&&a[mid]<a[mid+1])
end= mid;
else if(a[mid-1]>a[mid]&&a[mid]>a[mid+1])
begin= mid;
else
begin=mid;
}
return -1;
}
int main()
{
int a[10]={9,8,3,5,6,7,1,2,4,0};
cout<<find(a,0,9)<<endl;
system("pause");
}
2.矩阵的局部最小元素