在C++环境中写一个用二分查找法在有序表中查找关键字的代码
时间: 2024-05-08 16:19:57 浏览: 94
当然,我会为您提供相应的代码!下面是C环境下用二分查找法在有序表中查找关键字的代码:
```c
#include <stdio.h>
int binarySearch(int arr[], int target, int left, int right) {
while (left <= right) {
int mid = (left + right) / 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[] = {1, 3, 5, 7, 9};
int target = 5;
int left = 0;
int right = sizeof(arr) / sizeof(int) - 1;
int result = binarySearch(arr, target, left, right);
if (result == -1) {
printf("没有找到目标元素!\n");
} else {
printf("目标元素的下标是:%d\n", result);
}
return 0;
}
```
以上是用C语言实现的二分查找算法,该算法可以在有序数组中查找关键字,并返回其在数组中的下标。在上面的示例中,我们已经声明并初始化了一个有序数组和一个目标元素,然后定义了左右边界和调用二分查找函数,最后输出了目标元素的下标。
阅读全文