c语言二分法查找数组自永定义函数实现
时间: 2023-08-28 22:05:06 浏览: 89
二分法数据查找C语言实现
下面是用 C 语言实现二分查找算法的代码示例:
```c
#include <stdio.h>
int binary_search(int arr[], int n, int key)
{
int low = 0, high = n - 1, mid;
while (low <= high)
{
mid = (low + high) / 2;
if (arr[mid] == key)
return mid;
else if (arr[mid] > key)
high = mid - 1;
else
low = mid + 1;
}
return -1;
}
int main()
{
int arr[] = {1, 3, 5, 7, 9, 11, 13, 15, 17};
int n = sizeof(arr) / sizeof(arr[0]);
int key = 11;
int index = binary_search(arr, n, key);
if (index == -1)
printf("%d not found in the array.\n", key);
else
printf("%d found at index %d.\n", key, index);
return 0;
}
```
在上述代码中,`binary_search` 函数用于实现二分查找算法。该函数接受三个参数:待查找的数组 `arr`、数组长度 `n` 和待查找的关键字 `key`。函数返回值为关键字在数组中的下标,若未找到则返回 -1。
在 `main` 函数中,定义了一个整型数组 `arr`,其元素为 {1, 3, 5, 7, 9, 11, 13, 15, 17},数组长度为 `n`。接着定义了一个关键字 `key`,其值为 11。然后调用 `binary_search` 函数进行查找,并将结果赋值给变量 `index`。最后根据 `index` 的值输出查找结果。
阅读全文