반응형
#이분탐색 binary_search 함수
배열 사용시
binary_search(arr,arr+n,찾을 값) ;
벡터 사용시
binary_search(v.being(),v.end(),찾을 값);
시간 복잡도 O(LgN)에 true , false로 알려준다.
# 주의사항
범위는 반드시 오름차순으로 정렬되어있어야한다.
정렬이 안되어있으면 값이 있어도 없다고 할 수 있음.
사용 예시
#include <bits/stdc++.h>
using namespace std;
int arr[100001];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n, m;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
sort(arr, arr + n);
cin >> m;
for (int i = 0; i < m; i++) {
int num;
cin >> num;
if (binary_search(arr, arr + n, num))
cout << 1 << '\n';
else
cout << 0 << '\n';
}
}반응형
'Language > C++' 카테고리의 다른 글
| [C++] Error 정리 (0) | 2025.07.19 |
|---|---|
| [BOJ] 2178. 미로탐색 - C++ (0) | 2025.02.21 |
| [C++] precision(), cout<<fixed (0) | 2025.02.18 |
| [C++] unique() (0) | 2025.02.12 |
| [C++] sort() 함수 (0) | 2025.02.12 |