一、线性搜索算法原理

线性搜索算法(也称为线性查找)是在一组元素中按照顺序逐一查找特定元素的算法。它是一种最基础、最简单的查找方法,适用于任何类型的数据。具体实现过程是从数组的第一个元素开始,依次检查数组中的每个元素,直到找到目标元素或者查找整个数组都没有找到目标元素。其时间复杂度为 O(n)。

下面简单介绍一下线性查找的步骤:

  1. 初始化:将要查询的值存储在一个变量中;
  2. 从数组的第一个元素开始进行比较,如果查找到了目标元素,返回它所在的位置;
  3. 如果数组已经被查找完毕,还是没有找到目标元素,返回一个“未找到”的标识。

二、以下是使用 C 语言实现的线性搜索算法示例:

#include <stdio.h>

int linear_search(int arr[], int n, int target) {
    // 遍历数组
    for (int i = 0; i < n; i++) {
        // 如果找到目标元素,返回它所在的下标
        if (arr[i] == target) {
            return i;
        }
    }
    // 没有找到目标元素
    return -1;
}

int main() {
    int arr[] = { 5, 2, 7, 1, 8, 4 };
    int n = sizeof(arr) / sizeof(arr[0]);
    int target = 7;

    int index = linear_search(arr, n, target);

    // 输出查找结果
    if (index != -1) {
        printf("%d found at index %d\n", target, index);
    } else {
        printf("%d not found in the array\n", target);
    }

    return 0;
}

以上代码中,arr 是待查找的数组,n 是数组长度,target 是待查找的目标元素。linear_search 函数返回目标元素的下标,如果没有找到,则返回 -1。在 main 函数中,我们调用 linear_search 函数完成数组元素的查找,最后输出查找结果。

运行以上代码,输出结果为 7 found at index 2,即目标元素 7 在数组中的下标为 2。