二分法查找完整程序C语言
时间: 2024-03-06 18:50:42 浏览: 70
xc.rar_单词查找_标准C
以下是一个简单的二分法查找的C语言程序:
```c
#include <stdio.h>
int binarySearch(int arr[], int left, int right, int target) {
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
int main() {
int arr[] = { 2, 4, 6, 8, 10, 12, 14, 16 };
int target = 10;
int n = sizeof(arr) / sizeof(arr[0]);
int index = binarySearch(arr, 0, n - 1, target);
if (index == -1) {
printf("Element not found in array\n");
} else {
printf("Element found at index %d\n", index);
}
return 0;
}
```
这个程序中,`binarySearch` 函数接收四个参数:`arr` 表示要查找的数组,`left` 和 `right` 表示查找范围,`target` 表示要查找的目标元素。在函数中,我们使用 `while` 循环来不断缩小查找范围,直到找到目标元素或者查找范围为空。如果找到目标元素,则返回它的索引;否则返回 -1。在 `main` 函数中,我们声明了一个要查找的数组 `arr`,指定要查找的目标元素 `target`,以及数组的大小 `n`。然后,我们调用 `binarySearch` 函数来执行查找操作,并根据查找结果输出不同的信息。
阅读全文