C++ (5) 썸네일형 리스트형 [C++] Sequence Container (Vector, Deque, List, Queue, Stack) iterator 포인터와 상당히 비슷하며, 컨테이너에 저장되어 있는 원소들을 참조할 때 사용 알고리즘 마다 각기 다른 방식으로 컨테이너를 훑어가기 때문에, 반복자에도 여러가지 종류가 있음. iterator는 실제 값이 없는 end() 위치를 가질 수 있다. iterator를 기반으로 하는 insert, erase 함수는 iterator 값을 반환한다 vector a; auto it = a.end(); for(int i = 0; i < 10; i++) { it = a.insert(it, i); // 요소 삽입 후 해당 지점의 iterator값을 반환 } for(it x: a) { cout [C++] <algorithm> 라이브러리 속 유용한 함수 1) #include 원소들에 대해 작업할 수 있는 여러가지 함수들을 정의하고 있는 라이브러리. 2) 주요 함수 count(begin, end, value) : [begin, end] 에 포함되어 있는 원소 중에서 value의 개수를 찾는다. count_if (begin, end, p) : [begin, end] 에 포함되어 있는 원소 중에서 조건 p에 해당하는 value의 개수를 찾는다. # begin, end = iterator # p = 함수 pointer # 시간복잡도 : O(N) bool is_big(int x) { return (x > 2); } int main() { vector v = {1, 4, 1, 2, 4, 2, 4, 2, 4, 3, 4, 4}; for(int i = 1; i [C++] Lamda Function와 Function variable 보호되어 있는 글입니다. [C++] Associative Container (Map, Set) Map key와 value로 이루어져 있으며 pair 형태로 저장됨 배열 형태로 표현이 가능하지만 index는 맵의 key값을 사용한다. set과 마찬가지로 삽입이 되면서 자동으로 정렬 됨. key는 고유 값이므로 중복이 불가능. (중복 key는 multimap에서 가능) 선언 > map 변수명; map d1; map d2 = {{1,2}, {3,4}, {5,6}}; map d3; [ ] 사이의 값은 map의 key값을 사용한다. map m; m["one"] = 10; m["two"] = 20; m["three"] = 30; cout [C++] Auto, Pair, Tuple 자료형과 Range-based for auto 컴파일러가 타입을 추론하여 타입을 결정 변수의 타입을 명확하게 알 수 있어야 함. -> 반드시 초기화가 필요 //////////////////////////////// a >> b; cout 이전 1 다음