在使用C语言编写程序时,可以使用以下方法实现查询功能:
#include <stdio.h>
int linearSearch(int arr[], int size, int target) {
for (int i = 0; i < size; i++) {
if (arr[i] == target) {
return i; // 返回目标值在数组中的索引
}
}
return -1; // 如果没有找到目标值,返回-1
}
int main() {
int arr[] = {3, 1, 5, 2, 4};
int target = 5;
int size = sizeof(arr) / sizeof(arr[0]);
int result = linearSearch(arr, size, target);
if (result != -1) {
printf("目标值在数组中的索引为: %d\n", result);
} else {
printf("目标值未找到\n");
}
return 0;
}
#include <stdio.h>
int binarySearch(int arr[], int size, int target) {
int left = 0;
int right = size - 1;
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; // 如果没有找到目标值,返回-1
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int target = 5;
int size = sizeof(arr) / sizeof(arr[0]);
int result = binarySearch(arr, size, target);
if (result != -1) {
printf("目标值在数组中的索引为: %d\n", result);
} else {
printf("目标值未找到\n");
}
return 0;
}
上述代码示例中,分别演示了使用线性查找和二分查找来实现查询功能。根据具体需求和数据集合的特点,可以选择合适的方法来实现查询功能。