언어/Basic C++

[Basic C++] #43_STL 알고리즘, find, find_if STL 알고리즘 중 "find", 그리고 "find_if"에 대해 알아보겠습니다. "전문가를 위한 C"의 17 항목, "STL 알고리즘 마스터하기"에 해당하는 내용입니다. Overview 개념 find() find_if() #0. 개념 1. find()? template InputIterator find(InputIterator first, InputIterator last, const T& val); STL 알고리즘 중 "find()" 메서드를 먼저 살펴보겠습니다. 앞선 포스팅에서 살펴봤듯이 STL이 제공하는 컨테이너들은 "반복자"를 매개로 제네릭 알고리즘을 수행합니다. 그중 "find()" 메서드는 지정 구간 안에서 특정 항목 값..
[Basic C++] #42_unordered_multimap, 비순차 연관 컨테이너, 중복 허용 C++ 개발에서 "unordered_multimap"에 대해 알아보겠습니다. "전문가를 위한 C"의 16 항목, "컨테이너와 반복자 이해하기"에 해당하는 내용입니다. Overview 개념 #0. 개념 "unordered_multimap"은 알다시피 "unordered_map"에서 중복된 키의 항목 추가를 허용하는 버전입니다. 예외 사항은 이전에 공부했던 map과 multimap의 차이점과 동일합니다. 아래 링크를 올려두었습니다. unordered_multimap은 "operator []" 사용을 제한하고, "insert()"메서드의 반환 값이 pair 객체가 아니라 단순히 반복자라는 것입니다. 더불어, "e..
[Basic C++] #41_unordered_map, 비순차 연관 컨테이너 C++ 개발에서 "unordered_map"에 대해 알아보겠습니다. "전문가를 위한 C"의 16 항목, "컨테이너와 반복자 이해하기"에 해당하는 내용입니다. Overview 개념 초기화 그 외 자체 메서드 #0. 개념 template ,// == 해시 함수 객체 형식 class Pred = std::equal_to,// == 프레디킷 형식 class Alloc = std::allocator// == 할당자 클래스 class unordered_map; Details C++ 표준 라이브러리에서 제공하는 지정된 형식의 키와 데이터 값을 한 쌍으로 해시 테이블 자료구조를 활용하여 저장하는 비 순차 연관 컨테이너입니다. 접근, 삽입, 그..
[Basic C++] #40_해시 함수, 비순차 연관 컨테이너, 해시 테이블 C++ 개발에서 "해시 함수"에 대해 알아보겠습니다. "전문가를 위한 C"의 16 항목, "컨테이너와 반복자 이해하기"에 해당하는 내용입니다. Overview 비순차 연관 컨테이너 해시 함수 해시 충돌, 해시 문제점 #0. 비순차 연관 컨테이너 C++의 STL(표준 라이브러리)의 비순차 연관 컨테이너는 해시 함수를 사용합니다. 비순차 연관 컨테이너에는 "unordered_map", "unordered_multimap", "unordered_set", 그리고 "unordered_multiset"이 있습니다. 이들은 모두 항목을 저장할 때, 정렬 작업을 수행하지 않습니다. #1. 해시 함수 해시 테이블을 구현하기 위해 "버킷(Buc..
[Basic C++] #39_multimap, 연관 컨테이너, 중복 허용 C++ 개발에서 표준 라이브러리(STL)의 "multimap"에 대해 알아보겠습니다. "전문가를 위한 C"의 16 항목, "컨테이너와 반복자 이해하기"에 해당하는 내용입니다. Overview 개념 반복자 #0. 개념 [Basic C++] #38_map, 연관 컨테이너 [Basic C++] #38_map, 연관 컨테이너 C++ 개발에서 표준 라이브러리(STL)의 "map"에 대해 알아보겠습니다. "전문가를 위한 C"의 16 항목, "컨테이너와 반복자 이해하기"에 해당하는 내용입니다. map, 연관 컨 webddevys.tistory.com multimap은 키 하나에 2개 이상의 항목을 가질 수 있습니다. 그리고 multimap은 m..
#1. 개념 1. map [정의] : C++의 STL에서 제공하는 map 컨테이너는 지정된 형식의 키와 데이터 값을 한 쌍으로 레드-블랙 트리 자료구조에 저장하는 연관 컨테이너입니다. [특징] : map 컨테이너는 오직 키를 통해 접근 가능합니다. 더불어, map 컨테이너는 내부적으로 정렬 작업을 수행하며, 기준은 오름차순입니다. [성능] : map 컨테이너의 탐색/삽입/삭제 작업은 모두 O(log n)의 시간 복잡도를 가집니다. [Basic C++] #1 Map, Unordered_map, 해쉬 테이블 [Basic C++] #1 Map, Unordered_map, 해쉬 테이블 자료구조 중 해쉬 테이블(Key-Value-Pair)과 C++ STL이 제공하는 컨테이너 "map" , 그리고 "unordred..
[Basic C++] #37_pair C++ 개발에서 표준 라이브러리(STL)의 "pair"에 대해 알아보겠습니다. "전문가를 위한 C"의 16 항목, "컨테이너와 반복자 이해하기"에 해당하는 내용입니다. pair // 헤더 파일 #include // 생성자 pair myPair("Five", 5); // make_pair를 통한 생성 pair aPair = make_pair("Five", 5); // first, second 사용 pair myAnotherPair; myAnotherPair.first = "Six"; myAnotherPair.second = 6; Details pair 클래스는 서로 다른 데이터 타입의 두 값을 그룹핑하기 위한 템플릿 클래스입니다. pair는 디폴트 생성자 사용과 더불어..
[Basic C++] #36_forward_list, 순차 컨테이너 C++ 개발에서 표준 라이브러리(STL)의 forward_list에 대해 알아보겠습니다. "전문가를 위한 C"의 16 항목, "컨테이너와 반복자 이해하기"에 해당하는 내용입니다. Overview 개념 자체 메서드 #0. 개념 "forward_list"는 단방향 링크라는 점만 제외하면 "list"와 비슷합니다. "forward_list"는 단방향 링크이기 때문에 "반복자"가 한쪽으로만 이동이 가능합니다. 특정 항목에 접근하려면 반드시 이전 항목에 선제적으로 접근해야합니다. "begin()" 메서드는 폐쇄형 범위만 지원하여 첫 항목을 바로 리턴하죠. 하지만, "forward_list"는 마지막 항목뿐만 아니라 시작 항목도 "개방형 범위"로 ..
[Basic C++] #35_list, 순차 컨테이너 C++ 개발에서 표준 라이브러리(STL)의 List에 대해 알아보겠습니다. "전문가를 위한 C"의 16 항목, "컨테이너와 반복자 이해하기"에 해당하는 내용입니다. Overview 개념 초기화 접근 반복자 삽입, 제거 크기 splice 그 외 자체 제공 메서드 #0. 개념 1. list? "list" 또한 "vector" 그리고 "deque"와 같이 순차 컨테이너입니다. C++의 "list"는 이중 연결 리스트로 모든 위치에서 상수 시간의 삽입과 삭제 성능을 보여줍니다. 다만, 개별 항목에 접근하는 데에 비교적 느린 성능을 보여줍니다. list는 "operator[]"와 같이 랜덤 액세스가 불가능합니다. 따라서, 개별 항목에 접근하기 위해 반복자가 필..
[Basic C++] #34_반복자, 반복자의 활용 C++ 개발에서 표준 라이브러리(STL)의 "반복자"에 대해 알아보겠습니다. "전문가를 위한 C"의 16 항목, "컨테이너와 반복자 이해하기"에 해당하는 내용입니다. 반복자의 활용 vector v; double max = -numeric_limits::infinity(); // 반복자를 활용한 for 루프 for(vector::iterator it = begin(v); it != end(v); ++it) { *iter /= max; cout
Hardii2
'언어/Basic C++' 카테고리의 글 목록 (5 Page)