以下C++代码将会输出:
using namespace std;
int countLoops(vector& nums, int target) {
int loops = 0;
int left = 0;
int right = nums.size() - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (nums[mid] == target) {
return loops;
} else if (nums[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
loops++;
}
return loops;}
int main() {
vector nums = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
int target = 13;
int loops = countLoops(nums, target);
cout << "找到目标值 " << target << " 需要循环 " << loops << " 次。" << endl;
return 0;}
找到目标值13需要循环3次。
找到目标值13需要循环4次。
找到目标值13需要循环 5 次。
找到目标值13需要循环6次。