用递归函数巧妙实现二分查找,代码解析与示例展示
```c #include <stdio.h> int binary_search_rec(int a[], int left, int right, int target) { if (left > right) { return -1; } int mid = left + (right - left) / 2; if (a[mid] == target) { return mid; } else if (a[mid] > target) { return binary_search_rec(a, left, mid - 1, target); } else { return binary_search_rec(a, mid + 1, right, target); } } int main() { int a[7] = {0, 1, 2, 3, 5, 6, 7}; for (int num = 0; num < 8; num++) { printf("search %d: index:%d\n", num, binary_search_rec(a, 0, 6, num)); } return 0; } ``` ######[AI写代码神器 | 248点数解答 | 2024-10-17 10:29:01]
相关提问
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)376
- C 语言实现链表操作:创建、输出、删除及插入功能详解(字节豆包 | 534点数解答 | 2024-12-09 21:33:48)360
- C语言实现链表创建、输出、删除与插入操作的完整代码及注意要点(字节豆包 | 609点数解答 | 2024-12-18 12:18:21)377
- Java实现链表反转:迭代与递归双解法详解及开发实战指南(DeepSeek | 1409点数解答 | 2026-03-15 15:09:29)57
- Python 实现:带边界处理与验证的任意基数数字转换递归程序(字节豆包 | 198点数解答 | 2024-11-21 14:20:25)451
- Python 递归函数实现:将数字转换为指定基数的输出(百度文心 | 499点数解答 | 2024-11-22 09:58:55)351
- C 语言实现:精准查找比特流中的同步码(字节豆包 | 336点数解答 | 2024-11-14 22:45:41)158
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)304
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)325
- 探寻数组中最长摆动子序列长度:思路剖析与代码优化(GPT | 758点数解答 | 2024-12-23 23:18:29)287
- 独家剖析:求解数组最长摆动子序列长度的代码实现与改进建议(GPT | 350点数解答 | 2024-12-23 23:20:54)286
- Three.js 示例代码解析:优化场景渲染与注意要点(字节豆包 | 164点数解答 | 2025-02-27 23:30:20)283