C 语言数组搜索
在C语言中,数组是一种存储相同类型数据的集合。搜索数组中的元素是编程中的常见任务之一。本文将介绍两种常见的数组搜索方法:线性搜索和二分搜索。我们将从基础概念开始,逐步讲解它们的实现方法,并通过实际案例帮助你理解这些概念。
1. 线性搜索
线性搜索是最简单的搜索方法。它的基本思想是从数组的第一个元素开始,逐个检查每个元素,直到找到目标元素或遍历完整个数组。
1.1 线性搜索的实现
以下是一个简单的线性搜索的C 语言代码示例:
#include <stdio.h>
int linearSearch(int arr[], int n, int target) {
for (int i = 0; i < n; i++) {
if (arr[i] == target) {
return i; // 返回目标元素的索引
}
}
return -1; // 如果未找到目标元素,返回-1
}
int main() {
int arr[] = {10, 20, 30, 40, 50};
int n = sizeof(arr) / sizeof(arr[0]);
int target = 30;
int result = linearSearch(arr, n, target);
if (result != -1) {
printf("元素 %d 在数组中的索引是 %d\n", target, result);
} else {
printf("元素 %d 不在数组中\n", target);
}
return 0;
}
输入:
arr = {10, 20, 30, 40, 50}
target = 30
输出:
元素 30 在数组中的索引是 2