用C语言实现折半查找
时间: 2023-07-18 13:14:43 浏览: 105
好的,以下是用C语言实现折半查找的示例代码:
```c
#include <stdio.h>
int binary_search(int arr[], int n, int target) {
int left = 0;
int right = n - 1;
while (left <= right) {
int mid = (left + right) / 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[] = {1, 3, 5, 7, 9, 11};
int n = sizeof(arr) / sizeof(arr[0]);
int target = 7;
int index = binary_search(arr, n, target);
if (index == -1) {
printf("未找到目标元素!");
} else {
printf("目标元素下标为:%d", index);
}
return 0;
}
```
以上代码中,`binary_search` 函数实现了折半查找算法,`main` 函数则测试了该算法在数组 `{1, 3, 5, 7, 9, 11}` 中查找元素 `7` 的结果。
阅读全文