C++ 代码实现高效二分查找:附详细示例与解析
以下是一个使用 C++ 实现二分查找的示例代码: ```cpp #include <iostream> // 二分查找函数 int binarySearch(int arr[], int left, int right, int target) { while (left <= right) { int mid = left + (right - left) / 2; // 找到目标元素 if (arr[mid] == target) { return mid; } // 目标在左半部分 else if (arr[mid] > target) { right = mid - 1; } // 目标在右半部分 else { left = mid + 1; } } // 未找到目标元素 return -1; } int main() { int arr[] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20}; int target = 12; int result = binarySearch(arr, 0, sizeof(arr) / sizeof(arr[0]) - 1, target); if (result!= -1) { std::cout << "元素 " << target << " 在数组中的索引为 " << result << std::endl; } else { std::cout << "数组中未找到元素 " << target << std::endl; } return 0; } ``` 在上述代码中,`binarySearch` 函数接受一个已排序的整数数组、左右边界索引和目标值作为参数,并通过不断将数组中间元素与目标值比较来缩小查找范围,最终返回目标值在数组中的索引,如果未找到则返回 `-1`。在 `main` 函数中,我们创建了一个示例数组并调用 `binarySearch` 函数进行查找。 ######[AI写代码神器 | 418点数解答 | 2024-09-19 10:55:14]
- Java实现链表反转:迭代与递归双解法详解及开发实战指南(DeepSeek | 1409点数解答 | 2026-03-15 15:09:29)57
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)371
- 巴黎奥运:中国女排淘汰赛对决土耳其,朱婷成致胜关键!(字节豆包 | 448点数解答 | 2024-08-06 15:59:48)178
- 缜密逻辑,全新无名杀“风餐”技能代码精心打造与深度解析 (字节豆包 | 469点数解答 | 2025-04-05 11:37:06)266
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)303
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)324
- 探寻数组中最长摆动子序列长度:思路剖析与代码优化(GPT | 758点数解答 | 2024-12-23 23:18:29)286
- 独家剖析:求解数组最长摆动子序列长度的代码实现与改进建议(GPT | 350点数解答 | 2024-12-23 23:20:54)286
- Three.js 示例代码解析:优化场景渲染与注意要点(字节豆包 | 164点数解答 | 2025-02-27 23:30:20)283
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)343
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)494
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)380