lower_bound 예제

Comments 0 by
August 2, 2019

C++ 함수 std:::algorithm::lower_bound()는 주어진 값보다 적은 첫 번째 요소를 찾습니다. 이 함수는 정렬된 순서로 요소를 제외합니다. 비교를 위해 이진 함수를 사용합니다. 구문 1: 전달기 하위_바운드(포워드 이터레이터 먼저, 포워드 이터레이터 라스트, const T&val); 구문 2: 전달기 하위_바운드(포워드이터 먼저, 포워드이터 라스트, 콘스트 T&val, 비교 구성표); 먼저, 마지막 사용된 범위는 [첫 번째, 마지막)이며, 첫 번째요소와 마지막 사이의 모든 요소가 포함되며, 여기에는 먼저 가리키는 요소가 포함되지만 마지막이 가리키는 요소는 포함되지 않습니다. 다음은 std::algorithm::lower_bound() 함수 양식 std:::algorithm 헤더에 대한 선언입니다. 다음 예제에서는 std:::algorithm::lower_bound() 함수의 사용을 보여 주며 있습니다. (즉, 크거나 같음) 값보다 크거나 같거나 마지막인 범위 [첫 번째, 마지막]의 첫 번째 요소를 가리키는 이터레이터를 반환하거나 이러한 요소가 발견되지 않은 경우 마지막을 가리킵니다. 유효하지 않은 매개 변수는 정의되지 않은 동작을 일으킵니다. 이진 함수 또는 이거식 함수의 작업이 예외를 throw하는 경우 예외를 throw합니다. 우리가 컴파일하고 위의 프로그램을 실행하자,이 다음과 같은 결과를 생성합니다 – val : 범위에서 검색 할 하한의 값. 다음 동작 변경 결함 보고서는 이전에 게시된 C++ 표준에 소급 적용되었습니다.

수행된 비교 수는 첫 번째와 마지막 사이의 거리에서 로그학입니다(대부분의 log2(마지막 – 첫 번째) + O(1) 비교). 그러나 레거시가 아닌 임의액세스이터의 경우 이터레이터 증분 수가 선형입니다. val보다 적게 비교하지 않는 [첫 번째, 마지막] 범위의 첫 번째 요소를 가리키는 이터레이터를 반환합니다. 범위의 요소는 이미 정렬되거나 val. 템플릿에 대해 적어도 분할되어야합니다. . . 첫 번째 버전은 operator<를 사용하여 요소를 비교하고 두 번째 버전은 지정된 비교 함수 구성 요소를 사용합니다. [첫 번째, 마지막) 범위는 식 요소 <값 또는 comp(요소, 값)에 대해 분할되어야 합니다. 완전히 정렬된 범위는 이 기준을 충족합니다. . 반환 유형 : 범위의 val 하한에 대한 이터레이터입니다.