PS/STL
lower_bound / upper_bound
1. lower_bound 이진 탐색 기법이다. 배열이 정렬되어 있어야 한다. 찾으려는 key값이 없으면 key값보다 이상인 가장 작은 정수 값을 찾는다. #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); vector v = {1, 2, 3, 3, 4, 4, 5, 5}; cout
set
노드 기반 컨테이너이며 균형 이진트리로 구현되어있다. key라 불리는 원소들의 집합으로 이루어진 컨테이너 이다. 중복이 허용 되지 않는다. insert 함수에 의해 삽입되면 자동으로 정렬된다. set의 사용법 #include using namespace std; int main() { set s1; set s2; return 0; } 헤더 파일을 선언해주어야 한다. set 변수명; 으로 선언한다. set의 멤버 함수 s.begin() 맨 첫번째 원소를 가리키는 iterator를 return 한다. s.end() 맨 마지막 원소의 다음을 가리키는 iterator를 return 한다. s.rbegin() s.rend() s.clear() 모든 원소를 제거 s.count(k) s.empty() set s가 비..
sort / stable_sort
#include #include #include using namespace std; bool compare(pair a, pair b) { return a.first < b.first; } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); vector v, v2; v.push_back(make_pair(1,2)); v.push_back(make_pair(4,4)); v.push_back(make_pair(4,2)); v.push_back(make_pair(3,2)); v.push_back(make_pair(5,2)); v.push_back(make_pair(7,4)); v.push_back(make_pair(9,7)); v2 = v; c..