1. 顺序查找

在 java 中,我们常用的查找算法四种:

  1. 顺序(线性)查找
  2. 二分查找/折半查找
  3. 插值查找
  4. 斐波那契查找

​ 有一个数列: {1,8, 10, 89, 1000, 1234} ,判断数列中是否包含此名称【顺序查找】 要求: 如果找到了,就提示找到,并给出下标值。

1.1 代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class SeqSearch {

public static void main(String[] args) {
int[] arr = {1,9,11,-1,9,34,89};
List<Integer> searchResult = seqSearch(arr,1);
if(searchResult.size()==0) {
System.out.println("没有找到对应的索引!");
}else {
System.out.println("对应的索引是:"+searchResult);
}
}

/**
* @param arr
* @param value
*/
public static List<Integer> seqSearch(int[] arr,int value) {
//新建一个集合用来储存要查找值得下标

List<Integer> list = new ArrayList<Integer>();
//遍历查找符合条件的
for (int i = 0; i < arr.length; i++) {
if(arr[i]==value) {
list.add(i);
}
}
return list;

}

}