对二分查找算法进行改进,如果查找成功,函数返回此元素;若查找不成功,则返回最接近的元素,如果正好处于两数中间,则返回左边的元素。
函数接口定义:
int Binary_Search(int a[],int n,int x,int &count);
其中 a
是数组。 x
为待查元素; n
是数组长度, x
为待查元素, count
为查找次数。函数返回值为元素值。
裁判测试程序样例:
#include<stdio.h>
#define N 6
int Binary_Search(int a[],int n,int x,int &count);
int main()
{
int a[N]={14,17,24,43,53,76},num,x,count=0;
scanf("%d",&x);
num=Binary_Search(a,N,x,count);
printf("%d,%d,%d\n",x,count,num);
return 0;
}
/* 请在这里填写答案 */
输入样例1:
30
输出样例1:
30,3,24
输入样例2:
100