网站地图    收藏   

主页 > 前端 > css教程 >

二分查找(非递归JAVA) - html/css语言栏目:htm

来源:自学PHP网    时间:2015-04-14 14:51 作者: 阅读:

[导读] 庞果网编程英雄会上做的一道题:二分查找(非递归),和大家分享一下:[html]public class BinarySearchClass{ public static int binary_search(int[] array, int value) { int beginIndex = 0;/......

庞果网编程英雄会上做的一道题:二分查找(非递归),和大家分享一下:


[html]
public class BinarySearchClass 

 
    public static int binary_search(int[] array, int value) 
    { 
        int beginIndex = 0;// 低位下标 
        int endIndex = array.length - 1;// 高位下标 
        int midIndex = -1; 
        while (beginIndex <= endIndex) { 
            midIndex = beginIndex + (endIndex - beginIndex) / 2;//防止溢出 
            if (value == array[midIndex]) { 
                return midIndex; 
            } else if (value < array[midIndex]) { 
                endIndex = midIndex - 1; 
            } else { 
                beginIndex = midIndex + 1; 
            } 
        } 
        return -1; 
        //找到了,返回找到的数值的下标,没找到,返回-1        
    } 
 
 
    //start 提示:自动阅卷起始唯一标识,请勿删除或增加。 
    public static void main(String[] args) 
    { 
        System.out.println("Start..."); 
        int[] myArray = new int[] { 1, 2, 3, 5, 6, 7, 8, 9 }; 
        System.out.println("查找数字8的下标:"); 
        System.out.println(binary_search(myArray, 8));         
    } 
    //end //提示:自动阅卷结束唯一标识,请勿删除或增加。 
}    

public class BinarySearchClass
{

    public static int binary_search(int[] array, int value)
    {
        int beginIndex = 0;// 低位下标
        int endIndex = array.length - 1;// 高位下标
        int midIndex = -1;
        while (beginIndex <= endIndex) {
            midIndex = beginIndex + (endIndex - beginIndex) / 2;//防止溢出
            if (value == array[midIndex]) {
                return midIndex;
            } else if (value < array[midIndex]) {
                endIndex = midIndex - 1;
            } else {
                beginIndex = midIndex + 1;
            }
        }
        return -1;
        //找到了,返回找到的数值的下标,没找到,返回-1      
    }


    //start 提示:自动阅卷起始唯一标识,请勿删除或增加。
    public static void main(String[] args)
    {
        System.out.println("Start...");
        int[] myArray = new int[] { 1, 2, 3, 5, 6, 7, 8, 9 };
        System.out.println("查找数字8的下标:");
        System.out.println(binary_search(myArray, 8));       
    }
    //end //提示:自动阅卷结束唯一标识,请勿删除或增加。
}  

 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论