学习首页/查找算法/顺序查找交互演示 · JavaScript

代码与动画 LINEAR SEARCH

顺序查找.

从左到右逐项比较,找到目标后返回下标。

时间 O(n)空间 O(1)无需预排序

原理与执行逻辑

按照数组顺序逐项比较目标值,遇到相等元素就返回下标。每次检查只排除当前一个元素,因此不要求数组预先有序。

执行步骤

  1. 从下标 0 开始。
  2. 比较当前元素与目标值,相等就立即返回当前下标。
  3. 不相等时移动到下一个元素。
  4. 全部元素检查完仍未命中时返回 -1。

关键理解

扫描到下标 i 时,之前的元素都已确认不匹配。立即返回使重复目标值命中第一次出现的位置。

简短示例

在 [8, 3, 5, 3] 中查找 3,先排除 8,再在下标 1 命中,后面的元素无需检查。

代码与执行动画

STEP 0 / 5
顺序查找
function linearSearch(arr, target) {  for (let i = 0; i < arr.length; i++) {    if (arr[i] === target) return i;  }  return -1;}
6 行 · 0 个片段标记
目标 42区间 [0, 7]
120251182423654305806557
当前数据正在操作已访问 / 命中标记 / 指针
0

准备查找

从数组第一个元素开始查找。

查找数据

按输入顺序查找,支持重复值。

数组 2 至 10 项;元素和目标值范围 1 至 99。

实现说明

顺序查找的操作规则

返回首次命中的下标;扫描到末尾仍未命中时返回 -1。

对应题目与扩展练习

观察执行过程后,按题目约束调整输入、返回值与实现。链接打开官方题目页面。