任务2:简单有序表的二分(折半)查找。从键盘输入N (N<20)个值建立有序表,然后进行二分查找,查找某个元素值。用c语言写
时间: 2025-02-17 22:22:58 浏览: 47
在C语言中,你可以通过以下几个步骤实现简单的有序表(数组)的二分查找(折半查找):
1. 定义结构体或数组存储数据,并初始化有序表:
```c
#include <stdio.h>
#define MAX_SIZE 19 // 限制数组大小,这里小于20以满足条件
int main() {
int data[MAX_SIZE]; // 创建一个整型数组用于存储数据
int n, target; // 读取数据的数量和目标查找值
printf("请输入数据的数量(N): ");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("请输入第 %d 个数: ", i + 1);
scanf("%d", &data[i]);
}
}
```
2. 实现二分查找函数:
```c
// 二分查找函数
int binarySearch(int arr[], int left, int right, int target) {
if (left > right)
return - left) / 2;
if (arr[mid] == target)
return mid;
else if (arr[mid] < target)
return binarySearch(arr, mid + 1, right, target);
else
return binarySearch(arr, left, mid - 1, target);
}
int main()继续... {
...
// 调用二分查找并输出结果
int searchIndex = binarySearch(data, 0, n - 1, target);
if (searchIndex != -1)
printf("目标值在索引 %d 的位置\n", searchIndex);
else
printf("目标值未找到\n");
return 0;
}
```
阅读全文
相关推荐












