二分查找pta函数题c
时间: 2023-12-25 15:29:33 浏览: 134
二分查找是一种常用的查找算法,它可以在有序数组中快速定位目标元素的位置。下面是一个示例代码,演示了如何使用二分查找算法在有序数组中查找目标元素。
```c
#include <stdio.h>
int binarySearch(int arr[], int low, int high, int target) {
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;
}
}
return -1;
}
int main() {
int arr[] = {1, 3, 5, 7, 9, 11, 13, 15};
int n = sizeof(arr) / sizeof(arr[0]);
int target = 7;
int result = binarySearch(arr, 0, n - 1, target);
if (result == -1) {
printf("Target element not found\n");
} else {
printf("Target element found at index %d\n", result);
}
return 0;
}
```
这段代码中,`binarySearch`函数接受一个有序数组`arr`、数组的起始位置`low`、结束位置`high`和目标元素`target`作为参数,返回目标元素在数组中的索引。如果目标元素不存在于数组中,则返回-1。
在`main`函数中,我们定义了一个有序数组`arr`,并调用`binarySearch`函数来查找目标元素7。如果目标元素存在于数组中,则打印其索引;否则打印"Target element not found"。
阅读全文