二分查找的C语言程序代码
时间: 2024-10-18 17:10:47 浏览: 36
二分查找是一种高效的搜索算法,它适用于有序数组。基本思想是从中间开始比较,如果目标值小于中间元素,则在左半部分继续查找;如果大于,则在右半部分查找;直到找到目标值或区间为空。以下是简单的二分查找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;
}
}
// 如果未找到目标值,返回-1表示不存在
return -1;
}
int main() {
int array[] = {1, 3, 5, 7, 9, 11};
int n = sizeof(array) / sizeof(array[0]);
int target = 7; // 要查找的目标值
int result = binarySearch(array, 0, n - 1, target);
if (result != -1)
printf("元素在数组中的位置: %d\n", result);
else
printf("元素不在数组中.\n");
return 0;
}
阅读全文