二分查找 c++14
时间: 2023-10-24 20:31:03 浏览: 43
二分查找(Binary Search)是一种在有序数组中查找特定元素的常用算法。它的基本思想是将待查找区间不断地二分,直到找到目标元素或者确定目标元素不在数组中。
以下是一个使用C语言实现的二分查找算法示例:
```c
#include <stdio.h>
int binarySearch(int arr[], int low, int high, int target) {
while (low <= high) {
int mid = low + (high - low) / 2;
if (arr[mid] == target) {
return mid;
}
else if (arr[mid] < target) {
low = mid + 1;
}
else {
high = mid - 1;
}
}
return -1; // 目标元素不存在
}
int main() {
int arr[] = {2, 4, 6, 8, 10, 12, 14};
int n = sizeof(arr) / sizeof(arr[0]);
int target = 14;
int index = binarySearch(arr, 0, n - 1, target);
if (index != -1) {
printf("目标元素 %d 在数组中的索引位置为 %d\n", target, index);
}
else {
printf("目标元素 %d 不存在于数组中\n", target);
}
return 0;
}
```
在上述代码中,`binarySearch` 函数接收一个有序整数数组 `arr`、待查找区间的起始索引 `low`、待查找区间的结束索引 `high`、目标元素 `target`。它通过不断缩小待查找区间的范围,最终返回目标元素在数组中的索引位置,如果目标元素不存在,则返回 -1。
以上是二分查找算法的简单示例,希望能帮到你!如果还有其他问题,请继续提问。