# 線性搜尋法(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)`