题库 C++/C语言题库 题目列表 给定序列:1 ,3 ,6 ,9, 17&n...
单选题

给定序列:1 ,3 ,6 ,9, 17 ,31 ,39 ,52 ,61 ,79 ,81 ,90 ,96 。使⽤以下代码进⾏⼆分查找查找元素82时 ,需要循环多少次, 即最后输出的times值为(  ) 。

1 int binarySearch(const std::vector<int>& arr, int target) {
2  int left = 0;
3  int right = arr.size() - 1;
4  int times = 0;
5  while (left <= right) {
6   times ++;
7   int mid = left + (right - left) / 2;
8   if (arr[mid] == target) {
9    cout << times << endl;
10   return mid;
11   } else if (arr[mid] < target) {
12    left = mid + 1;
13   } else {
14    right = mid - 1;
15   }
16  }
17  cout << times << endl;
18  return -1;
19 }
A.

2

B.

5

C.

3

D.

4

题目信息
C++语言等级考试真题 2024年 五级 选择题
50%
正确率
0
评论
122
点击