Posts by C++

[C++] tuple

tuple 다양한 타입의 여러값을 하나의 객체로 묶어서 저장할 수 있는 컨테이너 다른 자료형의 여러 데이터를 하나로 묶는 자료구조 pair의 확장된 버전

[C++] vector 초기화 시 v(), v[] 차이

vector v[] vector<int> v[1001]은 1001개의 vector<int>를 담고 있는 정적 배열이다. 각 요소가 벡터이므로, 각 인덱스마다 서로 다른 정점의 연결 정보를 저장할 수 있다. 주로 그래프의 인접 리스트를 구현할 때 사...

[C++] emplace_back vs push_back

emplace_back push_back과 유사하게 새로운 요소를 컨테이너(vector, deque)의 끝에 추가하는 기능. 새로운 객체를 직접 생성하여 삽입할 수 있다는 점에서 push_back과 차이가 있다.

[C++] set vs unordered_set

set 이진탐색트리(Red-Black Tree)로 구현 중복값 허용하지 않음 요소들이 자동으로 정렬된 상태로 저장되어 순서대로 데이터를 다루거나 순차적으로 탐색할 때 유리 {3, 1, 2}를 set에 넣으면 {1, 2, 3}으로 정렬 상대...

[C++] map vs vector<pair>

map #include <map> c++ 표준 템플릿 라이브러리(STL: Standard Template Library)에서 제공하는 표준 컨테이너 데이터를 키(key)와 값(value)의 쌍으로 저장 키(key): 데이터를 식별하기 위한 ...

[C++] map vs unordered_map

unordered_map <unordered_map>헤더에 정의되어 있다. unordered_map<int, string> myMap와 같은 형식으로 사용한다. 해시 테이블을 기반으로 하는 연관 컨테이너이다. 평균 시간 복잡도는 O(1)이다.

[C++] transform 함수

transform(v.begin(), v.end(), new_v.begin(), ::tolower/::toupper) <algorithm>헤더에 정의되어 있다. v.begin()부터 v.end()까지의 범위에 있는 요소들에 주어진 함수를 적용시킨다. 세 번째...

[C++] reverse() 함수

reverse(word.begin(), word.end()) <algorithm>헤더에 정의되어 있다. 컨테이너(ex.배열, 벡터, 문자열 등)내의 요소들의 순서를 뒤집는데 사용된다. 반환값이 없으며, 입력된 컨테이너 자체가 변경된다.

[C++] binary_search()

binary_search(vector_begin, vector_end, find_value) <algorithm> 헤더에 정의되어 있다. 데이터가 정렬 sort() 되어 있다는 가정하게 사용가능하다. vector_begin은 시작주소, vector_end는 ...