while(low<=high)
{
mid=low + ((high - low) / 2);;
if(arr[mid]==number)
{
return mid;
}
if(arr[mid]<=arr[high])
{
// Right part is sorted
if(number > arr[mid] && number <=arr[high])
{
low=mid+1;
}
else
{
high=mid-1;
}
}
else
{
// Left part is sorted
if(arr[low]<=number && number < arr[mid])
{
high=mid-1;
}
else
{
low=mid+1;
}
}
}
return -1;
}
}