#include <iostream> using namespace std; #define LEN 12 int FindMinInRotateArray(int *arr, int len, int *min) { if (arr == NULL || len <= 0 || min == NULL) { return -1; } if (len == 2) { *min = arr[1]; return 1; } int mid = len/2; if (arr[0] < arr[mid]) { FindMinInRotateArray(arr + len/2, len - len/2, min); } else { FindMinInRotateArray(arr, len/2 + 1, min); } return 1; } int main() { int a[LEN] = {3, 4, 5, 6, 7, 8, 9, 10, -1, 0, 1, 2}; int min = 0; FindMinInRotateArray(a, LEN, &min); cout<<"The min we've found is : "<<min<<endl; return 1; }