Java 实现顺序查找

时间:2022-06-24 20:20:56
 package search;

 import java.util.Scanner;

 /*通常把查找过程中对关键字的平均比较次数,也叫平均查找长度(ASL)作为衡量一个查找算法效率优劣的标准:
* ASL=求和(p[i]*c[i]),(i=1~n)。P[i]找到第i个记录的概率,c[i]找到第i个记录进行比较的次数*/
/*顺序查找的思想:从表的一端开始,顺序扫描线性表,依次将扫描到的关键字和给定值k比较,若当前扫描的关键字与k相等,则查找成功,
* 若扫描结束后,任未发现关键字等于k的记录,则查找失败。
* ASL1查找成功(求和)i/n,i=1~n.
* ASL2查找失败n*/ //第一行输入要查找的序列,第二行输入关键字
public class shunxusearch { public static void main(String[] args){
Scanner cin = new Scanner(System.in);
String[] s= new String[2];
for(int i =0;i<2;i++){
s[i] = cin.nextLine();
}
String[] st = s[0].split(" ");
int[] c = new int[st.length];
for(int j=0;j<st.length;j++){
c[j]=Integer.parseInt(st[j]);
}
int key = Integer.parseInt(s[1]);
int result = search(c,key);
System.out.println(result);
cin.close();
}
public static int search(int[] R,int k){
int i,n=R.length;
for(i=0;i<n;i++){
if(R[i]==k){
return i;
}
}
return -1;
}
}