二分查找

来源:互联网 发布:淘宝网大童店铺 编辑:程序博客网 时间:2024/06/01 10:15
import java.util.Arrays;import java.util.Scanner;public class BinarySearch {public static int rank(int key,int[] a){//数组必须是有序的int low=0;int high=a.length-1;while( low <= high ){//被查找的值,要么不存在,要么不存在于a[low...high]之中int mid=low+(high-low)/2;if(key<a[mid]){high=mid-1;}else if(key>a[mid]){low=mid+1;}else{return mid;}}return -1;}public static void main(String[] args) {int[] a={3,6,7,9,4};//将数组排序Arrays.sort(a);Scanner cin=new Scanner(System.in);System.out.println("Please input numbers:");while(cin.hasNext()){int k=cin.nextInt();if(rank(k,a)>=0){System.out.println("The array contains "+k);}else{System.out.println("No such element");}}}}
//output examplePlease input numbers:1 3 5 7 9No such elementThe array contains 3No such elementThe array contains 7The array contains 9

                                             
0 0
原创粉丝点击