[STL] Bitset 생성 및 초기화 사용법 포스팅 썸네일 이미지

C++/Container

[STL] Bitset 생성 및 초기화 사용법

1. bitset bitset은 0 또는 1, true 또는 false의 값을 갖도록 필요한 경우 사용할 수 있다. 이와 같은 형태의 따라서 여러가지 비트 연산을 할 수 있도록 여러 멤버 함수들을 지원한다. 또한, 마찬가지로 이러한 경우에 vector을 사용할 수도 있을 것이다. 하지만 이는 권장하지 않는 형태라는 등 여러가지 말이 많다. 그렇다면 어떠한 경우에 어떠한 것을 사용해야 하는가 하면 vector : 동적인 사이즈를 갖는 경우, 복잡한 비트 연산이 필요없는 경우 bitset : 정적인 사이즈를 갖는 경우, 복잡한 비트 연산이 필요한 경우( 10진수 변환, 비트 반전 등) 라고 분류 할 수 있다. 2. 코 드 환경 : Visual studio 2019 #include #include #inclu..

2020.11.10 게시됨

[STL] Priority_queue 생성, 삽입, 삭제 등 사용법 포스팅 썸네일 이미지

C++/Container

[STL] Priority_queue 생성, 삽입, 삭제 등 사용법

1. priority_queue priority_queue 는 우선순위 큐라고 한다. priority_queue는 queue 헤더의 같이 포함되어 있다. 따라서 queue를 include 하였다면 사용할 수 있다. priority_queue의 인터페이스는 stack과 비슷하여 queue에서 사용하였던 front나 back은 없고 stack에 있었던 top이 존재한다. 이를 우선순위 큐라고 하는 이유는 각 원소들에 우선순위를 부여하여 이 우선순위에 따라서 우선 처리가 높은 순으로 처리 순서가 정해지기 때문이다. 2. 코 드 환경 : Visual Studio 2019 #include #include using namespace std; int main() { priority_queue pq;// 기본값 : ..

2020.11.09 게시됨

[STL] Queue 생성, 삽입, 삭제 등 사용법 포스팅 썸네일 이미지

C++/Container

[STL] Queue 생성, 삽입, 삭제 등 사용법

1. queue queue(큐)는 선입선출(FIFO)의 구조로서 가장 먼저 들어온 것이 가장 먼저나가는 자료 구조이다. 이는 간단하게 선착순 줄서기를 생각하면 된다. 마치 줄을 선 순서처럼 가장 먼저 줄을 선사람이 가장 먼저 순번이 찾아오는 것과 마찬가지이다. STL에서는 stack처럼 queue도 템플릿 클래스로 구현되어 있어 간단한 멤버 함수들만 알고 있다면 간단하게 사용할 수 있다. 2. 코 드 환경 : Visual Studio 2019 #include #include using namespace std; int main() { queue q; if (q.empty()) { cout

2020.11.09 게시됨

[STL] Stack 생성, 삽입, 삭제 등 사용법 포스팅 썸네일 이미지

C++/Container

[STL] Stack 생성, 삽입, 삭제 등 사용법

1. stack stack(스택)은 후입선출(LIFO)의 구조로서 가장 마지막의 들어온 것이 가장 먼저 나가는 자료 구조이다. 마치 바구니의 상자들을 넣어서 쌓는 모습을 상상하면 된다. 이러한 바구니에서 아래에 있는 상자들을 꺼내기 위해서는 가장 마지막으로 넣었던 상자부터 차례대로 꺼내어야 한다. 바로 이러한 형태의 구조로 데이터를 저장하는 자료구조를 Stack이라고 한다. STL에서는 이러한 stack이 구현되어 있고 몇가지 멤버함수만 알고 있다면 간단하게 사용할 수 있다. 2. 코 드 환경 : Visual Studio 2019 #include #include using namespace std; int main() { stack stack; if (stack.empty()) { cout

2020.11.08 게시됨

[STL] Unordered_map, multimap 생성, 삽입, 삭제 등 사용법 포스팅 썸네일 이미지

C++/Container

[STL] Unordered_map, multimap 생성, 삽입, 삭제 등 사용법

1. unordered_map, _multimap unordered_map은 set과 unordered_set의 관계처럼 저장하는 원소들을 어느 정렬 방식(오름차순, 내림차순)에 따라 정렬이 되는 것이 아니라 일련의 삽입하는 순서를 유지하고자 할 때 사용할 수 있다. 그 외에 멤버 함수나 사용방법 들은 map과 multimap 동일하다. [STL] Map 생성, 삽입, 삭제 등 사용법 1. map map은 쌍의 값들을 저장하는 구조이다. map은 쌍의 값을 갖는다는 것 빼고는 대부분 set과 유사한 구조이다. 2020/11/05 - [C++/STL] - [STL] Set 생성, 삽입, 삭제 등 사용법 따라서 set에서 사용하였던.. notepad96.tistory.com unordered_map과 uno..

2020.11.08 게시됨

[STL] Unordered_set, multiset 생성, 삽입, 삭제 등 사용법 포스팅 썸네일 이미지

C++/Container

[STL] Unordered_set, multiset 생성, 삽입, 삭제 등 사용법

1. unordered_set, _multiset set과 multiset은 값을 삽입시키면 자동으로 정렬이되어 저장되는 구조였다. 만약 정렬을 하지 않고서 삽입한 일련의 순서를 유지시키고 싶다. 라고 한다면 unordered_set을 사용하면 된다. unordered_set과 unordered_multiset은 정렬이 되지 않는 점을 빼면 각각 set과 multiset와 동일하다. [STL] Set 생성, 삽입, 삭제 등 사용법 1. set set은 특정 기준에 의하여 원소들이 자동 정렬되는 노드 기반 컨테이너이다. set은 기본적으로 오름차순(less) 정렬이고 greater 조건자를 줌으로써 내림차순으로 정렬할 수도 있다. set은 유 notepad96.tistory.com unordered_set..

2020.11.07 게시됨

[STL] Multimap 생성, 삽입, 삭제 등 사용법 포스팅 썸네일 이미지

C++/Container

[STL] Multimap 생성, 삽입, 삭제 등 사용법

1. multimap multimap 또한 set과 multiset과의 관계와 마찬가지로 map과는 중복되는 원소를 갖을 수 있다는 차이점만이 있다. 따라서 map에서 사용하였던 insert, erase, count, find와 같은 함수들을 그대로 사용할 수 있다. 단, map에서 insert 시 [] 연산자를 사용할 수 있었다면 multimap에서는 [] 연산자를 사용할 수 없다. 따라서 삽입 시 insert 멤버 함수를 사용하여서 pair 객체를 넣어주거나 해야 한다. 또한, find 멤버 함수는 똑같은 key값의 여러 원소가 존재하여도 맨 앞에 오는 원소의 반복자를 반환한다. 따라서 해당 key값의 모든 원소들의 접근하고자 한다면 multiset에서 사용하였던 것처럼 lower_bound()와 u..

2020.11.06 게시됨

[STL] Map 생성, 삽입, 삭제 등 사용법 포스팅 썸네일 이미지

C++/Container

[STL] Map 생성, 삽입, 삭제 등 사용법

1. map map은 쌍의 값들을 저장하는 구조이다. map은 쌍의 값을 갖는다는 것 빼고는 대부분 set과 유사한 구조이다. [STL] Set 생성, 삽입, 삭제 등 사용법 1. set set은 특정 기준에 의하여 원소들이 자동 정렬되는 노드 기반 컨테이너이다. set은 기본적으로 오름차순(less) 정렬이고 greater 조건자를 줌으로써 내림차순으로 정렬할 수도 있다. set은 유 notepad96.tistory.com 따라서 set에서 사용하였던 count, find, upper_bound 와 같은 멤버 함수들도 그대로 존재한다. 하지만 set과 다르게 [] 연산자를 지원하여 insert 함수를 사용하지 않아도 쉽게 삽입을 할 수 있다. map은 set과 마찬가지로 특정 정렬 기준(less 또는 ..

2020.11.06 게시됨