#include<iostream>
#include<string>
using namespace std;
void find(int s[], int len) {
int n;
cout << "input you want number:" << endl;
cin >> n;
int low = 0;
int high = len;
while (1) {
cout << "go" << endl;
int mid = (high + low) / 2;
if (s[mid] > n) {
high = mid;
}
else if (s[mid] < n) {
low = mid;
}
else if (s[mid] == n) {
cout << mid << endl;;
break;
}
if((n>s[len-1])||n<s[0]) {
cout << "Not Found! " << endl;
break;
}
}
}
int main() {
int a[10] = {1,4,8,9,11,12,16,17,18,19};
//必须传递数组的大小,因为在函数中传递的数组会退化为指针,使用sizeof只能测得指针的大小
int len = sizeof(a) / sizeof(a[0]);
find(a, len);
}
c++实现简单的二分查找
最新推荐文章于 2024-05-16 08:53:55 发布