---
# System prepended metadata

title: 線性搜尋法(Linear Search)

---

# 線性搜尋法(Linear Search)
資料不須事先排序，僅需遍歷一一比對，發現有與鍵值相同的值就返回索引。

## 舉例說明
有一陣列：`{1, 8, 10, 89, 1000, 1234}`，判斷陣列中是否包含此元素 

要求：如果找到了，就提示找到，並給出索引值。

## 程式碼
```java=
package Search;

public class SeqSearch {
    public static void main(String[] args) {
        int arr[] = {1, 8, 10, 89, 1000, 1234};
        int index = seqSearch(arr, 10);
        if(index == -1) {
            System.out.println("沒有查找到");
        } else {
            System.out.println("找到, 索引為 = "+index);
        }
    }

    public static int seqSearch(int[] arr, int value) {
        //逐一比對，發現有相同值就返回索引
        for(int i = 0; i < arr.length; i++){
            if(arr[i] == value) {
                return i;
            }
        }
        return -1;
    } 
}
```

output
```java=
找到, 索引為 = 2
```

## 時間複雜度

(1+2+3+...+n)/n = (n+1)/2 ⇒ `Ο(n)`