二分查找的实现---java版本

来源:互联网 发布:雷神软件下载 编辑:程序博客网 时间:2024/06/04 19:27
/** * @author Administrator *二分查找法: *特点: *1.该数组是已经排好序的 *2.效率还是比较高的 */public class BinSearch {//{2,3,4,5,7} 6public static int binSearch(int [] arr ,int key){int start =0;int end =arr.length-1;int mid=(start+end)/2;while(start<=end){if(arr[mid]<key){start=mid+1;mid=(start+end)/2;}if(arr[mid]>key){end=mid-1;mid=(start+end)/2;}if(arr[mid]==key){return mid;}}//执行完后依然没有跳出,则说明该数组中不包含该keyreturn -1;}//测试二分查找public static void main(String[] args) {int [] arr={2,3,4,5,7};System.out.println("该数组中是10的位置:"+BinSearch.binSearch(arr, 10));System.out.println("该数组中是5的位置:"+BinSearch.binSearch(arr, 5));}}
输出结果:
该数组中是10的位置:-1该数组中是5的位置:3

0 0