Kotlin Array 二分法查找

示例代码

    /**
     * 二分法查找
     * @findValue:需查找的数字
     * */
    fun findNumber(findValue:Int):Int{

        var index = -1
        if(itemArr[0] > findValue || itemArr[itemArr.size - 1] < findValue){
            return index
        }

        var start = 0
        var end = itemArr.size - 1
        var find = -1
        while (start <= end){
            find = (start + end) / 2
            if(itemArr[find] > findValue){
                end = find - 1
            }else if(itemArr[find] < findValue){
                start = find + 1
            }else{
                index = find
                break
            }
        }

        return index
    }

调用方式

        // 初始
        helloArray.text = "初始:" + itemArr.asList().toString() +"\n\n"

        // 二分法查找
        var index = findNumber(20)
        helloArray.text = helloArray.text as String + "二分法查找:" + index +"\n\n"

运行结果

完毕。

PS:如果本文对您有帮助,请关注微信公众号码袋
存放有更多技术干货、技术知识,且可一网打尽最新技术动态!


推荐一款超好玩的微信小程序,无数俊男靓女为之疯狂!(真的好玩!×3)

你可能感兴趣的:(Kotlin Array 二分法查找)