#include <cstdlib> #include <iostream> using namespace std; //全局变量 int arr[] = {0,1,2,4}; //测试数组 int size = sizeof(arr) / sizeof(*arr); //数组元素个数 bool exist(int arr[],int k) { int low = 0, high = size - 1; //设置一个标志,代表是否存在这个值 bool flag=false; //当找到最后或者第一个元素时,是等号 while(low<=high) { int mid = (low + high) / 2; if(arr[mid] < k) {low=mid+1;} if(arr[mid]==k) { //存在表示有这个值,跳出循环 flag=true; break; } if(arr[mid] > k) {high=mid-1;} } return flag; } int main(){ cout<<exist(arr,3)<<endl; system("pause"); return 1; }