代码:
#include<iostream>
using namespace std;
int find(int* arr,int len,int key){
int l=0,h=len-1,mid;
while(l<h){
mid=(l+h)/2;
if(arr[mid]==key){
return mid;
}else{
if(arr[mid]>=arr[l]){
if(key<arr[mid]&&key>=arr[l]){
h=mid-1;
}else{
l=mid+1;
}
}else{
if(arr[mid]<key&&key<=arr[h]){
l=mid+1;
}else{
h=mid-1;
}
}
}
}
return -1;
}
int main() {
int arr[]={5,6,7,8,9,0,1,2,3,4 };
int len=sizeof(arr)/sizeof(int);
cout<<find(arr,len,2)<<endl;
return 0;
}