键盘录入整型数组并用二分法查找所要的数的索引

 1 import java.util.Scanner;
 2 
 3 public class dichotomy {
 4     public static void main(String[] args) {
 5         Scanner sc=new Scanner(System.in);
 6         System.out.println("请输入数组的长度:");
 7         int a=sc.nextInt();
 8         int arr[]=new int[a];
 9         for(int i=0;i<a;i++){
10             arr[i]=sc.nextInt();
11         }
12         System.out.println("请输入要查找的数:");
13         int value=sc.nextInt();
14         System.out.println("索引为:"+getIndex(arr,value));
15     }
16     public static int getIndex(int []arr,int value){
17         int min=0;
18         int max=arr.length-1;
19         int mid=(max+min)/2;
20         while (value!=arr[(max+min)/2]){
21          if(value>arr[(max+min)/2]){
22             min=(max+min)/2+1;
23         }
24         else if(value<arr[(max+min)/2]){
25             max=(max+min)/2-1;
26         }
27         mid=(max+min)/2;
28     }
29     return mid;
30     }
31 }

结果显示:java

 

 

相关文章
相关标签/搜索