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

    }

  • 相关阅读:
    Linux下修改IP
    Linux 常用操作
    flex addChild 的一个小细节
    類別 ConcurrentHashMap<K,V>的更新,删除
    游戏开发者的AS3数据结构 COOL!
    Adobe Flash gets its full launch on Android
    人生时间表. 如果您有了时间
    Flex数据绑定陷阱:常见的误用和错误(一) 闪吧教材.jpg
    flash player10 Vector类型
    如何使用Flex 4新的CSS语法,兼容halo组件
  • 原文地址:https://www.cnblogs.com/liupengcheng/p/3724875.html
Copyright © 2011-2022 走看看