码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-03-02 22:25:09      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:com   ret   turn   names   iostream   ace   image   有序   数组   

#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; }

技术图片

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

标签:com   ret   turn   names   iostream   ace   image   有序   数组   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!