package bruteForce; /* * Implements sequential search with a search key as a sentinel * Input:An array A of n elements and a search key K * Output:The index of the first element in A[0..n-1] whose value is * equal to K or -1 if no such element is found */ import java.util.*; import java.io.*; public class SequentialSearch { static int A[]; static int n; static int K; private void Init(){ Scanner in = new Scanner(System.in); System.out.println("请输入数组的长度n:"); n = in.nextInt(); A = new int[n+1]; System.out.println("请输入数组,元素之间以空格或回车键隔开:"); for(int i=0;i<n;i++){ A[i] = in.nextInt(); } } private void display(){ for(int i=0;i<A.length-1;i++){ System.out.print(A[i]+" "); } } private int search(int A[],int K){ A[n] = K; int i = 0; while(A[i]!=K){ i++; } if(i<A.length-1){ return i; } else{ return -1; } } public static void main(String[] args) throws IOException { SequentialSearch ss = new SequentialSearch(); ss.Init(); System.out.println("/n你输入的数组为:"); ss.display(); System.out.println("/n/n请输入你需要查找的值K:"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); K = Integer.parseInt(br.readLine()); br.close(); int i = ss.search(A, K); if(i!=-1){ System.out.println("/n"+K+"在数组中的位置:"+i); } else{ System.out.println("/n"+K+"不存在!"); } } }