在Java中常见的有四种
1)顺序(线性)查找
2)二分查找
3)插值查找
4)斐波那契查找
顺序(线性)查找:不在乎是否有序
package com.aaron.algorithm.Search;
public class SeqSearch {
public static void main(String[] args) {
int arr[] = {1, 6, 5, -4, 2, 3, 3};
int resIndex = seqSearch(arr,5);
if (resIndex == -1) {
System.out.println("没找到");
} else {
System.out.println("找到了,索引为" + resIndex);
}
}
/**
* 这里实现的线性查找是找到一个满足条件的值,即返回
* @param arr
* @param findVal
* @return 如果找到就返回下标,没有返回 -1
*/
private static int seqSearch(int[] arr,int findVal) {
//线性查找是逐一进行比对,一旦发现相同值,就返回
for (int i = 0; i < arr.length; i++) {
if (arr[i] == findVal) {
return i;
}
}
return -1;
}
}