C ++バイナリ検索

bool型を返します:

1つのテンプレート< クラス T> 静的 BOOL binarySearch(T * S、TのCONST&E、int型、LOをint型のHi)を{
 2      ながら(LO < ハイ){
 3。         INT miザ=(LO +ハイ)>> 1 ;
 4          E <S [miザ] = MIこんにちは:?= MI LO + 1 ;
 5。     }
 6。     リターン Sの[ - LO] == E; // この方法は、ランクを見つけるために失敗を返すがEより大きくない、
7 }

マスターズコードはシンプルでありながらも、美しいだけではありません!

戻り値は、要素を見つけるのランクの値以上です。

1つのテンプレート< クラス T> 静的 INT binarySearch(T * S、TのCONST&Eは、int型、LOをint型のHi)を{
 2      ながら(LO < ハイ){
 3。         INT miザ=(LO +ハイ)>> 1 ;
 4          E <S [miザ] = MIこんにちは:?= MI LO + 1 ;
 5      }
 6。     復帰 --lo; // この方法は、ルックアップEはのランクより大きくない失敗を返し
7 }

 

おすすめ

転載: www.cnblogs.com/MasterYan576356467/p/11209481.html