线性查找(Java)
线性查找又称顺序查找,是一种最简单的查找方法,它的基本思想是从第一个记录开始,逐个比较记录的关键字,直到和给定的K值相等,则查找成功;若比较结果与文件中n个记录的关键字都不等,则查找失败。
实现思路
线性查找是很简单的查找方法,循环遍历发现需查找的元素直接返回即可,若存在相同元素时,则需要新建一个数组,存放所有需查找的元素,后遍历输出。
代码如下
public class Linearsearch {
public static void main(String[] args) {
int arr[]= {3,5,9,11,24,36,11,25};
int[] flag=linearsearch2(arr,11);
System.out.printf("查找元素共有%d个,下标分别为:",flag.length);
for(int i=0;i<flag.length;i++) {
System.out.print(flag[i]+" ");
}
}
/*//查找一个需查找元素返回下标
public static int linearsearch1(int []arr,int value) {
for(int i=0;i<arr.length;i++) {
if(arr[i]==value) {
return i;
}
}
return -1;
} */
//查找所有需查找元素返回下标
public static int[] linearsearch2(int []arr,int value) {
int num=0;
for(int i=0;i<arr.length;i++) {
if(arr[i]==value) {
num++;
}
}
int []temp=new int[num];
int j=0;
for(int i=0;i<arr.length;i++) {
if(arr[i]==value) {
temp[j]=i;
j++;
}
}
return temp;
}
}
运行结果
查找元素共有2个,下标分别为:3 6