12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
ADADADADAD
编程知识 时间:2024-12-04 12:57:22
作者:文/会员上传
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
下面是使用递归实现二分法查找的C语言代码示例:#include <stdio.h>int binarySearch(int arr[], int low, int high, int key) {if (low > high) {return -1; // key not fou
以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。
下面是使用递归实现二分法查找的C语言代码示例:
#include <stdio.h>int binarySearch(int arr[], int low, int high, int key) {if (low > high) {return -1; // key not found}int mid = low + (high - low) / 2;if (arr[mid] == key) {return mid; // key found at index mid} else if (arr[mid] < key) {return binarySearch(arr, mid + 1, high, key); // search in the right half} else {return binarySearch(arr, low, mid - 1, key); // search in the left half}}int main() {int arr[] = {2, 4, 6, 8, 10, 12, 14, 16};int n = sizeof(arr) / sizeof(arr[0]);int key = 10;int index = binarySearch(arr, 0, n - 1, key);if (index != -1) {printf("Element found at index: %d\n", index);} else {printf("Element not found\n");}return 0;}
在上面的代码中,binarySearch
函数使用递归的方式实现了二分法查找。函数接受一个整型数组arr
、查找范围的起始下标low
、结束下标high
和要查找的关键值key
作为参数。函数首先计算中间元素的下标mid
,然后分别判断arr[mid]
和key
的大小关系,根据不同情况选择在左半部分或右半部分继续查找,直到找到目标元素或查找范围为空。
在main
函数中,我们定义了一个整型数组arr
,并调用binarySearch
函数来查找key=10
在数组中的位置。最终输出查找结果。
11-20
11-19
11-20
11-20
11-20
11-19
11-20
11-20
11-19
11-20
11-19
11-19
11-19
11-19
11-19
11-19