zoukankan      html  css  js  c++  java
  • java之折半查询

    /**
    * Created by rabbit on 2014-5-12.
    */
    public class HalfSerach
    {
        public static void main(String[] args)
        {
            int [] arr = {3,6,7,9,11,22,35};              //设置arr数组并进行复制
            int index = halfsearch(arr,35);               //调用折半查询对数组里的35进行查询
            System.out.println("index " +  index);      //输出查询结果
        }

        public static int halfsearch(int [] arr,int key) //开始创建折半查询方法
        {
            int min,max,mid;                                  //创建最小下标min,最大下标max。折半下标mid。
            min = 0;                                            //最小下标为
            max = arr.length-1;                             //最大小标为arr.length-1
            mid=(min+max)/2;                               //折半下标为(最大下标和最小下标的和)的一半

            while (arr[mid]!=key)                      //当选定要比较的下标值与折半下标不相同时
            {
                if (key>arr[mid])                             //如果选定下标大于折半下标
                    min=mid+1;                                //最小下标移动到折半下标的下一下标处
                else if (key<arr[mid])                       //如果选定下标小于折半下标
                    max=mid-1;                                //最大下标移动到折半下标的上一下标处

                if (min>max)                             //如果最小下标比最大小标还大
                    return -1;                                  //返回-1;
                mid=(min+max)/2;                           //折半查询循环
            }
            return mid;                                         //当选定要比较的下标值与折半下标相同时,返回折半下标。

    }

  • 相关阅读:
    JS调试工具
    什么是Web Service?
    win7怎么安装消息队列 MSMQ
    死锁产生的原因及四个必要条件
    项目管理模式之如何去除SVN标记
    AJAX中的请求方式以及同步异步的区别
    敏捷软件开发模型--SCRUM
    堆和栈
    UI产品设计流程中的14个要点
    Android中dp和px之间进行转换
  • 原文地址:https://www.cnblogs.com/liupengcheng/p/3724875.html
Copyright © 2011-2022 走看看