描述
从小到大输入若干整数(不超过300),以-99999为结束符,然后再输入一个整数x,z在前面的整数中用二分查找法查找x,若找到,显示数的下标(即从0开始的序号);若找不到,显示-1。注意,不应使用别人写的库函数。
输入
若干整数。
输出
一个下标。
输入输出示例
输入 | 输出 | |
示例 1 | | |
示例 2 | | |
#include<iostream>
using namespace std;
int a[666];
int fen(int left,int right,int key){//二分
while(left<=right){
int mid=(left+right)/2;
if(a[mid]>key){
right=mid-1;
}
else{
if(a[mid]<key){
left=mid+1;
}
else{
return mid;
}
}
}
return -1;
}
int main(){
int Key=0,sum=0,j=0;
while(cin>>a[j++]&&a[j-1]!=-99999){
sum++;
}
cin>>Key;
cout<<fen(0,sum,Key);
return 0;
}