可能的二分法 用c++编写
时间: 2023-05-11 07:03:03 浏览: 72
二分法是一种常用的查找算法,可以在有序数组中快速查找指定元素。以下是可能的二分法的 C 语言实现:
```c
#include <stdio.h>
int binarySearch(int arr[], int left, int right, int x) {
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == x) {
return mid;
}
if (arr[mid] < x) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
int main() {
int arr[] = {1, 3, 5, 7, 9, 11};
int n = sizeof(arr) / sizeof(arr[0]);
int x = 7;
int result = binarySearch(arr, 0, n - 1, x);
if (result == -1) {
printf("Element not found\n");
} else {
printf("Element found at index %d\n", result);
}
return 0;
}
```
这个程序实现了一个二分查找算法,可以在有序数组中查找指定元素。它的时间复杂度是 O(log n),比线性查找更快。