6-6 二分搜索(分治法)
分数 10
全屏浏览
作者 王东
单位 贵州师范学院
二分搜索(分治法)
函数接口定义:
int binsearch(int A[],int key,int low,int high);
裁判测试程序样例:
#include <iostream>
#include<algorithm>
#define N 1000
using namespace std;
int binsearch(int A[],int key,int low,int high);
int main()
{
int n,i,A[N],key;
cin>>n;
for(i=0;i<n;i++)
cin>>A[i];
cin>>key;
cout<<binsearch(A,key,0,n-1);
return 0;
}
/* 请在这里填写答案 */
输入样例:
第一行输入一个数n,第二行输入n个数,第三行输入要查的值。
12
11 14 23 25 68 78 84 97 155 201 310 479
97
输出样例:
输出key在序列中的位置。
7
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
函数代码分享:
int binsearch(int A[],int key,int low,int high){
int s=0;
for(int i=low;i<=high;i++){
if(A[i]==key){
s=i;
return s;
}
}
}