输入n
个关键字按升序存放在a
数组中,要求实现函数,统计在a
中采用二分查找成功查找到关键字x
所需的比较次数并返回,若找不到则返回0。
函数接口定义:
int CountSearchTimes(int a[], int low, int high, int x) ;
其中参数 a
表示升序存放关键字的数组, low
表示a中首元素的下标,high
表示a中尾元素的下标,x
是待查找的关键字。
裁判测试程序样例:
#include <iostream>
#include <algorithm>
using namespace std;
int CountSearchTimes(int a[], int low, int high, int x);
int main() {
int n;
cin>>n;
int a[n];
for(int i=0; i<n; i++) cin>>a[i]; // 输入
sort(a,a+n);