zoukankan      html  css  js  c++  java
  • c# 二分查找

       // perform a binary search on the data
       public int BinarySearch( int searchElement )
       {  private int[] data;
          int low = 0; // low end of the search area
          int high = data.Length - 1; // high end of the search area
          int middle = ( low + high + 1 ) / 2; // middle element
          int location = -1; // return value; -1 if not found

          do // loop to search for element
          {
                    // if the element is found at the middle
             if ( searchElement == data[ middle ] )
                location = middle; // location is the current middle

             // middle element is too high
             else if ( searchElement < data[ middle ] )
                high = middle - 1; // eliminate the higher half
             else // middle element is too low
                low = middle + 1; // eliminate the lower half

             middle = ( low + high + 1 ) / 2; // recalculate the middle
          } while ( ( low <= high ) && ( location == -1 ) );

          return location; // return location of search key
       } // end method BinarySearch 

  • 相关阅读:
    PDF格式简单分析
    python 2.x 版本 pip 的使用
    网络读书笔记-运输层
    网络读书笔记-应用层
    线程池源码解析
    管道流创建订单
    @autowire、@resource原理
    Spring如何解决循环依赖
    结合Spring特性实现策略模式
    自定义注解+AOP实现redis分布式锁
  • 原文地址:https://www.cnblogs.com/encounter/p/2188825.html
Copyright © 2011-2022 走看看