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;                                         //当选定要比较的下标值与折半下标相同时,返回折半下标。

    }

  • 相关阅读:
    winRT Com组件开发流程总结
    win32 COM组件编写
    windows8 APP开发的远程调试
    VS2012中,C# 配置文件读取 + C#多个工程共享共有变量 + 整理using语句
    STL源码--序列式容器
    代码规范
    Visual Studio Code 断点调试配置方法(请按我的步骤 一定可以做到)
    CSS层级关系 学习笔记
    VUE 学习笔记
    CSS 学习笔记
  • 原文地址:https://www.cnblogs.com/liupengcheng/p/3724875.html
Copyright © 2011-2022 走看看