首页 > 编程语言 > 详细

二分查找--循环数组找最小值

时间:2020-03-02 21:58:10      阅读:78      评论:0      收藏:0      [点我收藏+]
#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; }

技术分享图片

二分查找--循环数组找最小值

原文:https://blog.51cto.com/14472348/2474985

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!