C++程序 线性搜索

C++程序 线性搜索

线性搜索是 C++ 程序中最基础的搜索算法之一,是指按照顺序逐个遍历要搜索的数据元素,从开始的元素一直找到结束的元素,直到找到为止,或者遍历结束。它适用于较小的数据集合或未排序的数据集合。

下面通过实例演示在 C++ 程序中如何使用线性搜索算法。

实例演示

以下代码实现的线性搜索算法,通过遍历数组 arr 中的元素,从头至尾进行搜索,返回目标值在数组中的下标,如果没找到则返回 -1。

int linearSearch(const int arr[], int n, int target)
{
    for (int i = 0; i < n; i++)
    {
        if (arr[i] == target)
        {
            return i;
        }
    }
    return -1;
}

其中,arr 表示要进行搜索的元素所组成的数组,n 表示数组的长度,target 表示要搜索的目标值。

以一个简单的整型数组为例:

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

我们可以使用上述线性搜索算法搜索目标值 9 的下标:

int index = linearSearch(arr, n, target);
if (index != -1)
{
    std::cout << "目标值在数组中的下标为:" << index << std::endl;
}
else
{
    std::cout << "目标值不在数组中" << std::endl;
}

输出结果为:

目标值在数组中的下标为:3

时间复杂度分析

线性搜索算法的时间复杂度为 O(n),其中 n 为要进行搜索的元素的数量。因此,当数据集合较大时,线性搜索算法的效率会较低,不适合用于大规模的数据搜索。

结论

线性搜索是 C++ 程序中最基础的搜索算法之一,适用于小规模或未排序的数据集合。但是,当数据集合较大时,效率会较低,不适合用于大规模的数据搜索。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

C++ 示例