线性查找简言之就是简单的对数组进行遍历,返回结果:
定义一个方法:传递进来一个数组以及一个需要查找的值,对数组进行遍历。找到直接返回。在这路只能找到第一个满足条件的值。
public static int linear(int[] arr, int value) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == value) {
// 找到一个满足条件就返回
return i;
}
}
return -1;
}
在main函数中进行测试
int[] arr = { 4, 8, 54, 69, 0, 5 };
int index = linear(arr, 0);
if (index == -1) {
System.out.println("没有这个值");
} else {
System.out.println(index);
}
当查找的元素在数组当中出现了多次的时候,很显然就不能使用一个Int作为返回类型,使用ArrayList数组集合,代码实现如下:
public static ArrayList<Integer> linear1(int[] arr, int value) {
ArrayList<Integer> List = new ArrayList<Integer>();
for (int i = 0; i < arr.length; i++) {
if (arr[i] == value) {
List.add(i);
}
}
return List;
}
在main函数当中进行测试:
int[] arr = { 4, 8, 54, 69, 0, 5, 4 };
ArrayList<Integer> List1 = linear1(arr, 1);
if (List1.size() == 0) {
System.out.println("没有找到");
} else {
for (int i = 0; i < List1.size(); i++) {
System.out.println("下标索引为:" + List1.get(i));
}
}