#include<iostream> using namespace std; int main() { int arr[] = {5,6,7,8,9,1,2,3,4}; int left = 0, right = 8; cout<<"循環有序數組arr[]={"; for(int i = 0; i < 9; i++) if(i != 8) cout<<arr[i]<<","; else cout<<arr[i]<<"}"<<endl; while(left <= right) { int mid = left + (right - left) >> 1; if(arr[left] < arr[right]) { cout<<"最小值爲:"<<arr[left]<<endl; return 0; } else { if(arr[left] > arr[mid]) { right = mid - 1; } else if(arr[mid] > right) { left = mid + 1; } else { int minn = arr[left]; for(int i = left + 1; i < right ; i++) if(arr[i] < minn) { minn = arr[i]; } cout<<"最小值爲:"<<minn<<endl; return 0; }