单选题

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

int binarySearch(const std::vector& arr, int target) {\tint left = 0;\tint right = arr.size() - 1;\tint times = 0;\twhile (left <= right) {\t\ttimes   ;\t\tint mid = left   (right - left) / 2;\t\tif (arr[mid] == target) {\t\t\tcout << times << endl;\t\t\treturn mid;\t\t} else if (arr[mid] < target) {\t\t\tleft = mid   1;\t\t} else {\t\t\tright = mid - 1;\t\t}\t}\tcout << times << endl;\treturn -1;}

A.

2

B.

5

C.

3

D.

4

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部