public class TwoSearch { public int binarySearch(int[] a,int x,int n) { int left = 0; int right = n-1; while(left<=right) { int middle = (left+right)/2; if(x==a[middle])return middle+1; //找到输出位置(第几个数) if(x>a[middle])left=middle+1; else right = middle - 1; } return -1; //没有找到时输出-1 } public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入数字的个数:"); int n = input.nextInt(); int[] a = new int[n]; System.out.println("清输入数字:"); for(int i = 0;i<n;i++) { a[i] = input.nextInt(); } System.out.println("清输入要找的数字:"); int x = input.nextInt(); TwoSearch y = new TwoSearch(); System.out.println(y.binarySearch(a,x,n)); input.close(); } }
二分搜索技术
猜你喜欢
转载自blog.csdn.net/zxl1148377834/article/details/80385673
今日推荐
周排行