java怎样在循环数组中找最小值?
#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; }
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。