#include<stdlib.h>
#include<stdio.h>
#include<iostream>
#include<vector>
#define COMPARE(x,y) (((x)<(y)) ? -1 : (((x)==(y)) ? 0 : 1))
using namespace std;
int main() {
cout << "input your nums" << endl;
int temp;
vector<int>a;
cin >> temp;
while (getchar() != '\n')
{
a.push_back(temp);
cin >> temp;
}
a.push_back(temp);
cout << "input your search num" << endl;
cin >> temp;
int middle;
int left = 0;
int right = a.size()-1;
while (left <= right)
{
middle = (left + right) / 2;
switch (COMPARE(a[middle], temp))
{
case -1:left = middle + 1;
break;
case 0: {
cout << "get in : " << middle+1 << endl;
return 0;
}
case 1:right = middle - 1;
}
}
cout << "no member inside" << endl;
return 0;
}
二分查找
最新推荐文章于 2023-05-28 13:59:52 发布