Kotlin Array 二分法查找

2019-04-11 15:03:37 浏览数 (1)

示例代码

代码语言:javascript复制
    /**
     * 二分法查找
     * @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
    }

调用方式

代码语言:javascript复制
        // 初始
        helloArray.text = "初始:"   itemArr.asList().toString()  "nn"

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

运行结果

完毕。

0 人点赞