C语言实现:顺序查找与二分查找算法全解析
二分查找和顺序查找是两种常见的查找算法。下面是它们的C语言实现: 1. 顺序查找(线性查找): ```c #include <stdio.h> int linear_search(int arr[], int n, int x) { for (int i = 0; i < n; i++) { if (arr[i] == x) { return i; } } return -1; } int main() { int arr[] = {2, 3, 4, 10, 40}; int x = 10; int n = sizeof(arr) / sizeof(arr[0]); int result = linear_search(arr, n, x); if (result != -1) { printf("元素 %d 在数组中的位置为: %d ", x, result); } else { printf("元素 %d 不在数组中 ", x); } return 0; } ``` 2. 二分查找: ```c #include <stdio.h> int binary_search(int arr[], int l, int r, int x) { while (l <= r) { int m = l + (r - l) / 2; if (arr[m] == x) { return m; } if (arr[m] < x) { l = m + 1; } else { r = m - 1; } } return -1; } int main() { int arr[] = {2, 3, 4, 10, 40}; int x = 10; int n = sizeof(arr) / sizeof(arr[0]); int result = binary_search(arr, 0, n - 1, x); if (result != -1) { printf("元素 %d 在数组中的位置为: %d ", x, result); } else { printf("元素 %d 不在数组中 ", x); } return 0; } ``` ######[AI写代码神器 | 523点数解答 | 2024-06-30 11:31:16]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)371
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)302
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)323
- 重新定义字母大小关系:让 “L 队” 字典序小于 “某 E” 的代码实现与分析(字节豆包 | 595点数解答 | 2025-12-03 19:44:59)79
- 深入解析格雷码生成算法:递归求解与代码实现(DeepSeek | 443点数解答 | 2026-01-05 12:21:49)69
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)342
- Linux开发:用find命令查找/usr目录下超1MB的文件(百度文心 | 153点数解答 | 2023-11-09 18:45:10)217
- 8 个实用命令,助 Linux 开发者轻松查找服务器平均负载!(百度文心 | 311点数解答 | 2023-11-09 18:47:10)237
- C++实现顺序存储结构基本操作:初始化、插入、删除等全解析(GPT | 1743点数解答 | 2024-09-26 00:20:17)296
- C 语言实现:精准查找比特流中的同步码(字节豆包 | 336点数解答 | 2024-11-14 22:45:41)157
- C语言实现多班级学生信息管理系统:含增删改查与多样排序功能(GPT | 2547点数解答 | 2024-12-15 22:08:58)371
- C语言实现学生信息管理系统:含增删改查与多种排序功能(GPT | 6408点数解答 | 2024-12-15 22:10:03)366