Run ID:95940
提交时间:2024-11-02 14:57:14
#include<iostream> using namespace std; int binarySearch(int arr[],int n,int value){ int low = 0; int high = n-1; //这里我们默认从小到大排序 while(low <= high){ int mid = low + ((high - low) /2);//也可以是mid=(low+high)/2 if(arr[mid]==value) return mid; else if(arr[mid] > value){ //中间比value大,往左边(较小)的方向找 high = mid - 1; }else if(arr[mid] < value){ //中间比value小,往右边(较大)的方向找 low = mid + 1; } } return -1; } int main(){ int i,value; int arr[15]; for(i=0;i<15;i++)cin>>arr[i]; cin>>value; int ans = binarySearch(arr,10,value); if(ans!=-1){ printf("%d\n",ans); }else{ printf("NO\n"); } return 0; }