折半查找算法代码c语言
时间: 2024-08-05 17:00:36 浏览: 52
折半查找,也称为二分查找,是一种在有序数组中查找特定元素的高效搜索算法。下面是使用C语言实现的简单折半查找算法:
```c
#include <stdio.h>
// 声明一个函数来执行折半查找
int binarySearch(int arr[], int n, int target) {
int low = 0;
int high = n - 1;
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; // 更新搜索范围到左半部分
}
}
// 如果没有找到目标,返回 -1
return -1;
}
int main() {
int arr[] = {1, 3, 5, 7, 9, 11, 13};
int n = sizeof(arr) / sizeof(arr[0]);
int target = 9;
int result = binarySearch(arr, n, target);
if (result != -1)
printf("元素 %d 在数组中的索引是 %d\n", target, result);
else
printf("元素 %d 未在数组中找到\n", target);
return 0;
}
```
阅读全文