int MinInOrder(int num[],int first,int end)
{
int result;
result = num[first];
int i;
for (i = first; i <= end; i++)
{
if (num[i] < result)
result = num[i];
}
return result;
}
int MinVocate(int num[],int len)
{
int first = 0, end = len - 1;
int mid;
mid = first;
while (num[first] >= num[end])
{
if (end - first == 1)
{
mid = end;
break;
}
mid = (first + end) / 2;
if (num[first] == num[end] && num[first] == num[mid])
{
return MinInOrder(num, first, end);
}
if (num[mid] >= num[first])
{
first = mid;
}
else if (num[mid] <= num[end])
{
end = mid;
}
}
return num[mid];
}