线性(顺序)查找是逐一比对去查找,所以既可以处理有序的数组,也可以处理无序的数组。只要在数组中找到一个等于待查找的值就返回其下标。
一、代码
package search;
/**
* 顺序(线性)查找即可以处理有序的数组,也可以处理无序的数组
* @author Lee
*
*/
public class SequenceSearch {
public static void main(String[] args) {
int[] arr = {1, 9, 11, -1, 34, 89};
int index = sequenceSearch(arr, 0);
if(index == -1) {
System.out.println("没有找到");
}else {
System.out.println("找到了,下标 = " + index);
}
}
/**
* 这里实现的顺序(线性)查找是找到一个满足条件的值,就返回
* 如果要找出数组中所有与value相同的数,先定义一个集合,然后将相等的数放到集合里,最后返回集合即可
* @param arr 原数组
* @param value 要查找的值
* @return 返回对应值的下标,没找到就返回-1
*/
public static int sequenceSearch(int[] arr, int value) {
//顺序查找是逐一比对,发现有相同的值,就返回下标
for(int i = 0; i < arr.length; i++) {
if(arr[i] == value) {
return i;
}
}
return -1;
}
}
二、结果
找到了,下标 = 2