在Dev-C++中已知按升序排列的有序表,用对分查找查找给出的任意数据的程序编写。(7,9,12,15,17,23,26,54,89)
时间: 2024-04-25 19:27:28 浏览: 37
c++编的顺序表程序
5星 · 资源好评率100%
好的,以下是用二分查找在Dev-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;
}
return -1;
}
int main() {
int arr[] = {7, 9, 12, 15, 17, 23, 26, 54, 89};
int n = sizeof(arr) / sizeof(arr[0]);
int target;
printf("请输入要查找的数:");
scanf("%d", &target);
int result = binarySearch(arr, 0, n - 1, target);
if (result == -1)
printf("%d 不在数组中\n", target);
else
printf("%d 在数组的第 %d 个位置\n", target, result + 1);
return 0;
}
```
程序运行结果如下:
```
请输入要查找的数:17
17 在数组的第 5 个位置
```
阅读全文