酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

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; } ``` [2024-06-30 11:31:16 | AI写代码神器 | 523点数解答]

相关提问