首页 > 编程语言 > 详细

查找--二分算法

时间:2019-06-16 16:48:40      阅读:80      评论:0      收藏:0      [点我收藏+]
public class HellowWorld {
public static void main(String[] argv ) {
int[] arr= new int[]{1,3,6,9,13,16,21,26,30,35};
int num=30;//要查找的值
int low=0;//最左边的下标值
int high=arr.length-1;//最右边的下标值
int mid=(low+high)/2;
while(arr[mid]!=num&&low!=high)
{
    //arr[mid]<num 代表要找的值在中间的右边
    if(arr[mid]<num )
    {
        low=mid+1;
    }
    //arr[mid]>num 代表要找的值在中间的左边
    else if(arr[mid]<num )
    {
        high=mid-1;
    }
    mid=(low+high)/2; //重新计算中间值
}
 if(low==high)
 {
     System.out.println("没有这个值");
 }
 else
 {
     System.out.println("下标是:"+mid);
 }
}//endmain
}//endclass

红色的是重点 二分需要是有序的数组

查找--二分算法

原文:https://www.cnblogs.com/xuwangqi/p/11031866.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!