1 #include"iostream" 2 using namespace std; 3 4 int GetMinNumber(int *data,int len) 5 { 6 int left=0,right=len-1,mid; 7 8 while(left<right-1) 9 { 10 mid=(left+right)/2; 11 if(data[mid]>=data[left]) 12 left=mid; 13 else if(data[mid]<data[right]) 14 right=mid; 15 } 16 return data[right]; 17 } 18 19 void Test1() 20 { 21 cout<<"Test1:"; 22 int data[]={3,4,5,1,2}; 23 if(GetMinNumber(data,5)==1) 24 cout<<"passed."<<endl; 25 else 26 cout<<"failed."<<endl; 27 } 28 29 void Test2() 30 { 31 cout<<"Test2:"; 32 int data[]={3,4,5,6,1,2}; 33 if(GetMinNumber(data,6)==1) 34 cout<<"passed."<<endl; 35 else 36 cout<<"failed."<<endl; 37 } 38 39 void Test3() 40 { 41 cout<<"Test3:"; 42 int data[]={2,1}; 43 if(GetMinNumber(data,2)==1) 44 cout<<"passed."<<endl; 45 else 46 cout<<"failed."<<endl; 47 } 48 49 int main() 50 { 51 Test1(); 52 Test2(); 53 Test3(); 54 return 0; 55 }
相关文章: