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 

  • 相关阅读:
    css
    团队介绍
    day4
    线段树懒标记
    P2014选课
    P2015
    扩展欧几里得(exgcd)求解不定方程/求逆元
    transform和tolower
    快读
    bzoj2118
  • 原文地址:https://www.cnblogs.com/encounter/p/2188825.html
Copyright © 2011-2022 走看看