分享

二分查找法

 融水公子 2018-08-04
二分查找法:前提是已经排序好的数列
package zaizhu.da;

//二分查找法
public class Test30 {
public static void main(String[] args) {
int[] nums= {10,20,50,65,88,90};
int index=binarySearch(nums,10);//定义返回的是数组下标
System.out.println(index);
}
//二分查找算法
public static int binarySearch(int[] nums,int key) {
int start=0;//开始下标
int end=nums.length-1;//结束下标
while(start<end) {
int middle=(start+end)/2;//除二也可以用位移表示  >>>1
if(nums[middle]>key) {
end=middle-1;
}else if(nums[middle]<key){
start=middle+1;
}else {
return middle;
}
}
return -1;
}
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多