// 定义一个Solution类 class Solution { public: // 定义一个方法search,接收一个int类型的vector和一个int类型的目标值,返回一个int类型的索引值 int search(vector& nums, int target) { // 初始化左右指针 int left = 0, right = nums.size() - 1; // 当左指针小于等于右指针时,进行循环 while(left <= right){ // 计算中间值 int mid = (right - left) / 2 + left; // 获取中间值对应的数字 int num = nums[mid]; // 如果中间值等于目标值,返回中间值的索引 if (num == target) { return mid; // 如果中间值大于目标值,将右指针移动到中间值的左边 } else if (num > target) { right = mid - 1; // 如果中间值小于目标值,将左指针移动到中间值的右边 } else { left = mid + 1; } } // 如果循环结束仍未找到目标值,返回-1 return -1; } };

C++二分查找算法代码详解:搜索目标值

原文地址: https://www.cveoy.top/t/topic/ocLD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录