C ++ 이진 검색

bool 형식을 반환합니다 :

. (1) 서식 < 클래스 T> 정적  BOOL binarySearch (T * S, T의 CONST & E는 int로 , LO을 int로 안녕하세요) {
 2      그동안 (LO < HI) {
 3.          INT 마일 = (LO + HI) >> 1이다. ]
 . (4)          E <S [마일] = MI 하이 :? = 마일 LO + 1이다. ]
 (5).      }
 6.      리턴 S의 [- LO] == E; // 이 방법은 랭크를 찾는 실패 E보다 크지 반환 
7 }

석사 코드는 간단하지만 아름다운뿐만 아니라!

반환 값은 요소를 찾는 순위의 값보다 작지 :

. (1) 서식 < 클래스 T> 정적  INT binarySearch (T의 *의 S, T의 CONST & E, int로 , LO을 int로 안녕하세요) {
 2      그동안 (LO < HI) {
 3.          INT 마일 = (LO + HI) >> 1이다. ]
 . (4)          E <S [마일] = MI = 하이 :? 마일 LO + 1이다. ]
 . 5      }
 . 6       --lo; // 이 방법은 조회는 전자의 순위 이하인 실패 반환 
7 }

 

추천

출처www.cnblogs.com/MasterYan576356467/p/11209481.html