线性(顺序)查找介绍与实现

点击打开在线编译器,边学边练

1. 查找算法

查找算法是指:从一些数据之中,找到一个特殊的数据的实现方法。查找算法与遍历有极高的相似性,唯一的不同就是查找算法可能并不一定会将每一个数据都进行访问,有些查找算法如二分查找等,并不需要完全访问所有的数据。

查找算法适用于很多场景,最典型的应用场景就是已知次品商品的特征,如何从一堆商品当中查找出这些次品。

2. 顺序查找算法简介

顺序查找算法是最简单的查找算法,其意思为:线性的从一个端点开始,将所有的数据依次访问,并求得所需要查找到的数据的位置,此时,线性查找可以称呼为遍历。

3. 代码实现

一个最简单的例题:有6个商品,他们每一个商品的重量都是10,但其中有一个商品是次品,他的重量只有9,请设计代码将其找出,为了简化内容,我们直接利用数组Shangping存储内容。

#include<iosteam>
using namespace std;
int main(){
    int Shangping[6]={10,10,9,10,10,10}
    for(int i=0;i<6;i++){
        if(Shangping[i]==9){
            printf("找到次品,他的位置在:%d",i+1);
        }
    }
    return 0;
}

可以见到,本题中利用一层for循环即可找寻到目标,这相当容易理解,即使映射到链表中进行线性的查找依旧很容易理解,而在接下来的章节内,我们将依次学习折半查找(又名二分查找)以及分块查找等静态查找方法,也会讲解二叉排序树和平衡二叉树这些利用数据结构进行操作的动态查找方式。



本文固定URL:https://www.dotcpp.com/course/154

第一章 数据结构入门
第二章 链表
第三章 栈
第四章 队列
第五章 从C语言到C++
第六章 串,数组,矩阵,广义表
第七章 树
第八章 图
第九章 算法—查找
第十章 算法—排序
第十一章 算法&竞赛,思维培养
第十二章 后记
Dotcpp在线编译      (登录可减少运行等待时间)