赞助商

Java实现二分查找

发布时间:2019-02-10 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了Java实现二分查找脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

<div class="cnblogs_code">

   
           srcArray[] = {3,5,11,17,21,23,28,30,32,50,64,78,81,95,1010,srcArray.length - 1,81    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 二分查找递归实现   </span>
    <span style="color: #0000ff;"&gt;public</span> <span style="color: #0000ff;"&gt;static</span> <span style="color: #0000ff;"&gt;int</span> binSearch(<span style="color: #0000ff;"&gt;int</span> srcArray[],<span style="color: #0000ff;"&gt;int</span> start,<span style="color: #0000ff;"&gt;int</span> end,<span style="color: #0000ff;"&gt;int</span><span style="color: #000000;"&gt; key) {   

        </span><span style="color: #0000ff;"&gt;int</span> mid = (end - start) / 2 +<span style="color: #000000;"&gt; start;   
        </span><span style="color: #0000ff;"&gt;if</span> (srcArray[mid] ==<span style="color: #000000;"&gt; key) {   
            </span><span style="color: #0000ff;"&gt;return</span><span style="color: #000000;"&gt; mid;   
        }   
        </span><span style="color: #0000ff;"&gt;if</span> (start >=<span style="color: #000000;"&gt; end) {   
            </span><span style="color: #0000ff;"&gt;return</span> -1<span style="color: #000000;"&gt;;   
        } </span><span style="color: #0000ff;"&gt;else</span> <span style="color: #0000ff;"&gt;if</span> (key ><span style="color: #000000;"&gt; srcArray[mid]) {   
            </span><span style="color: #0000ff;"&gt;return</span> binSearch(srcArray,mid + 1<span style="color: #000000;"&gt;,end,key);   
        } </span><span style="color: #0000ff;"&gt;else</span> <span style="color: #0000ff;"&gt;if</span> (key <<span style="color: #000000;"&gt; srcArray[mid]) {   
            </span><span style="color: #0000ff;"&gt;return</span> binSearch(srcArray,start,mid - 1<span style="color: #000000;"&gt;,key);   
        }   
        </span><span style="color: #0000ff;"&gt;return</span> -1<span style="color: #000000;"&gt;;   
    } 

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 二分查找普通循环实现   </span>
    <span style="color: #0000ff;"&gt;public</span> <span style="color: #0000ff;"&gt;static</span> <span style="color: #0000ff;"&gt;int</span> binSearch(<span style="color: #0000ff;"&gt;int</span> srcArray[],<span style="color: #0000ff;"&gt;int</span><span style="color: #000000;"&gt; key) {   
        </span><span style="color: #0000ff;"&gt;int</span> mid = srcArray.length / 2<span style="color: #000000;"&gt;;   
        </span><span style="color: #0000ff;"&gt;if</span> (key ==<span style="color: #000000;"&gt; srcArray[mid]) {   
            </span><span style="color: #0000ff;"&gt;return</span><span style="color: #000000;"&gt; mid;   
        }   

        </span><span style="color: #0000ff;"&gt;int</span> start = 0<span style="color: #000000;"&gt;;   
        </span><span style="color: #0000ff;"&gt;int</span> end = srcArray.length - 1<span style="color: #000000;"&gt;;   
        </span><span style="color: #0000ff;"&gt;while</span> (start <=<span style="color: #000000;"&gt; end) {   
            mid </span>= (end - start) / 2 +<span style="color: #000000;"&gt; start;   
            </span><span style="color: #0000ff;"&gt;if</span> (key <<span style="color: #000000;"&gt; srcArray[mid]) {   
               end </span>= mid - 1<span style="color: #000000;"&gt;;   
            } </span><span style="color: #0000ff;"&gt;else</span> <span style="color: #0000ff;"&gt;if</span> (key ><span style="color: #000000;"&gt; srcArray[mid]) {   
                start </span>= mid + 1<span style="color: #000000;"&gt;;   
            } </span><span style="color: #0000ff;"&gt;else</span><span style="color: #000000;"&gt; {   
                </span><span style="color: #0000ff;"&gt;return</span><span style="color: #000000;"&gt; mid;   
            }   
        }   
        </span><span style="color: #0000ff;"&gt;return</span> -1<span style="color: #000000;"&gt;;   
    } 
}</span></pre>

总结

以上是脚本之家为你收集整理的Java实现二分查找全部内容,希望文章能够帮你解决Java实现二分查找所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:76874919,请注明来意。
标签: