1. upper_bound
이진 탐색으로 key값을 탐색하고 [begin, end)에서 key보다 작지 않은 첫 번째 수의 iterator 반환
upper_bound(array, array + n, key);
2. lower_bound
이진 탐색으로 key값을 탐색하고 key값보다 큰 수를 찾아 iterator 반환
lower_bound(array, array + n, key);
<코드>
#include <iostream> #include <algorithm> using namespace std; int main() { int arr[10] = {1,2,3,4,6,7,8,9,10,11}; printf("lower_bound : %d\n", *(lower_bound(arr ,arr + 10, 4))); printf("upper_bound : %d\n", *(upper_bound(arr ,arr + 10, 4))); return 0; }
<결과>
'C,C++' 카테고리의 다른 글
C++ :: 콘솔 글자 및 배경색 변경하기 (0) | 2019.01.07 |
---|---|
fseek과 ftell로 파일의 크기 알아보기 (0) | 2018.12.26 |
콜라한캔 :: 16진수 문자열로 변환 (0) | 2018.12.23 |
void 포인터 (0) | 2018.12.12 |
new, delete (0) | 2018.12.09 |