二分搜索算法c语言测试用例
时间: 2024-05-18 08:09:18 浏览: 114
二分搜索算法(也叫折半查找)是一种高效的查找算法,它的前提是待查找的数组必须是有序的。下面是一些C语言的测试用例示例:
```
#include <stdio.h>
int binarySearch(int arr[], int left, int right, int x);
int main()
{
int arr[] = {2, 3, 4, 10, 40};
int n = sizeof(arr) / sizeof(arr);
int x = 10;
int result = binarySearch(arr, 0, n - 1, x);
(result == -1) ? printf("Element is not present in array")
: printf("Element is present at index %d", result);
return 0;
}
int binarySearch(int arr[], int left, int right, int x)
{
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == x)
return mid;
if (arr[mid] < x)
left = mid + 1;
else
right = mid - 1;
}
return -1;
}
```
这个示例程序中,我们定义了一个名为binarySearch的函数来实现二分搜索算法。在主函数中,我们定义了一个有序数组arr和待查找的元素x,并调用binarySearch函数来查找x在数组中的索引。如果x不在数组中,函数返回-1。如果x在数组中,函数返回其在数组中的索引。
阅读全文