반응형

<개인공부> 261

[C++] queue container 정리 및 사용법

안녕하세요! BlockDMask 입니다.오늘은 Container Adapter (stack, queue, priority queue)중 두번째인 queue container adapter에 대해 정리해보겠습니다. 0. queue containerFIFO (First in, First out) 방식으로 동작 됩니다. queue container는 deque와 list container 에 붙어서 사용 가능합니다. (vector container 불가능.) vector container가 불가능한 이유 : queue 자료구조 특성상 뒤에서 삽입하고 앞에서 빼야하는데(FIFO) vector는 앞에서 빼는 동작을 지원해 주지 않기 때문입니다. 내부적으로 deque, list container 로 구현이 되어있습..

[C++] stack container 정리 및 사용법

안녕하세요. BlockDMask 입니다.오늘은 Container Adapter (stack, queue, priority_queue) 중에 stack container 에 대해 알아보겠습니다.다들 stack의 동작 원리나 구조는 아신다고 생각하고 포스팅 하곘습니다.0. stack containerLIFO(Last in First out) 방식. stack container adapter는 vector, deque, list container에 붙어서(기반으로) 사용이 가능합니다. 내부적으로는 vector, deque, list container의 구조로 구현이 되어있되, stack이라는 포장지로 잘 감싸서 stack과 같이 작동하도록 멤버 함수 등을 지원해 주는 것 입니다. default는 deque c..

버블정렬 (Bubble Sort) 이론과 코드

안녕하세요, BlockDMask 입니다. 오늘은 정렬 알고리즘 중에 버블 소트 (Bubble Sort)에 대해서 알아보도록 하겠습니다. 앞으로 제가 아는 sort들을 포스팅 해볼 예정입니다 버블 정렬 - bubble sort 삽입 정렬 - insertion sort 선택 정렬 - selection sort 퀵 정렬 - quick sort 병합 정렬 - merge sort 기수 정렬 - radix sort 이 순서대로 정렬 포스트를 진행 해 보도록 하겠습니다. 0. 원리Bubble Sort는 말 그대로 거품처럼 동글동글 하면서 sorting을 합니다. 거품을 연상하시면 쉬울 겁니다. 두 인접한 원소를 비교하는 정렬입니다. 오름차순으로 정렬을 한다고 했을때, 처음 한 바퀴를 돌게 되면 맨 뒤에 있는 인자가 ..

[C++] multimap container 정리 및 사용법

안녕하세요, BlockDMask 입니다.오늘은 연관 컨테이너(Associative container) 중 multimap 에 대해서 알아보도록 하겠습니다.multimap은 map과 거의 동일하지만 딱 한부분 만 다릅니다.key값이 중복 가능하다.map에 대한 자세한 정보는 [바로가기] 에 있습니다. 1) multimap containerAssociative : 노드 기반으로 구현된 Associative Container 에 속합니다. Ordered : Key, Value 값이 삽입될때 정렬이 되면서 삽입됩니다. (항상 정렬되어있는 상태 입니다) Map : 각각의 Key는 하나의 Value 에 mapping 됩니다. (pair 객체를 이용하여 key, value를 묶습니다.) Multiple equival..

[C++] map container 정리 및 사용법

안녕하세요. BlockDMask 입니다. 오늘은 연관 컨테이너 set, multiset, map, multimap 중. key와 value가 쌍으로 저장되는 map에 대해서 알아보도록 하겠습니다. std::map은 std::vector 처럼 정말 많이 쓰이는 컨테이너 중에 하나 입니다. 연관 컨테이너들은 99% 멤버 변수가 동일합니다. > 관련 포스팅: map, set의 키를 클래스나 구조체로 설정하는 방법 [바로가기] 1) map container Associative - 연관 컨테이너 (associative container) 중 하나입니다. 노드 기반으로 이루어져있고 균형 이진 트리 구조입니다. Map - map은 key와 value로 이루어져있으며 이는 pair 객체 형태로 저장됩니다. Uniqu..

[C++] multiset container 정리 및 사용법

안녕하세요 ! BlockDMask 입니다.오늘은, 연관 컨테이너(set, multiset, map, multimap)중 multiset 에 대해서 알아보겠습니다.!set과 구별되는 multiset의 가장 큰 특징은 key값이 중복된다는 것 입니다.나머지 연산자, 생성자, 멤버 변수는 동일합니다.예시를 들고 예시에 사용된 멤버 변수만 설명하는 방식으로 이번글을 써보겠습니다.설명한 부분 이외의 생성자, 연산자, 멤버 변수는 set container와 동일하므로 여기서 보시면 되겠습니다.1) multiset containerset container 와 같이 key 값을 저장합니다. set container 와 달리 중복된 key 값을 저장 할 수 있습니다. 원소를 삽입하면 자동으로 정렬이 됩니다.2) mult..

[C++] set container 정리 및 사용법

안녕하세요. BlockDMask 입니다 !오늘은 연관 컨테이너 set, multiset, map, multimap 중 set에 대해 학습해보겠습니다.순서는 set container -> set의 사용법 -> set의 생성자와 연산자 -> set의 멤버 함수 -> 다양한 듯 다양하지 않은 예제 순으로 정리 해보겠습니다.우선 연관컨테이너들의 공통적인 특징은 아래와 같습니다. 1. 노드 기반 컨테이너 2. 균형 이진트리로 구현 3. 멤버 변수, 생성자 등이 99프로 같습니다. 1) set container 연관 컨테이너(associative container) 중 하나입니다. 노드 기반 컨테이너 이며 균형 이진트리로 구현되어있습니다. Key라 불리는 원소들의 집합으로 이루어진 컨테이너 입니다. (원소 = ke..

[C++] list container 정리 및 사용법

안녕하세요, BlockDMask 입니다.오늘은 STL의 sequence container 의 vector, deque, list중 세번째 인 list에 대해서 알아보겠습니다.날이 정말 덥군요. 저는 시원한 카페에 앉아서 포스팅 해보도록하겠습니다. 'ㅁ'저는 자료구조를 C언어로 배웠는데요. C++의 list는 딱 더블 링크드리스트(doubly linked list)와 구조가 같습니다. 다만 C++에서는... 미리 구현되어있다는 점이 다릅니다.C에서는 자료구조를 사용하려면 처음부터 만들어서 사용했었었는데, 너무 편하고 좋네요.이렇게 도구가 많아도 제대로 사용할 줄 알아야 자신의 도구가 되겠죠?그럼 정리내용을 보러 가겠습니다. 1) list container 시퀀스 컨테이너 (sequence container..

[C++] deque container 정리 및 사용법

1) deque container 2) deque의 사용 3) deque의 생성자와 연산자 4) deque의 멤버 함수 5) 다양한 예제 1) deque containerdeque는 vector의 단점을 보완하기 위해서 만들어진 container 입니다. deque도 vector와 마찬가지로 배열기반의 구조입니다. vector는 새로운 원소가 추가 될때 메모리 재할당 후 이전 원소를 복사하는 방식으로 인하여, 삽입시에 성능이 저하 하는 단점이 있습니다. deque는 이러한 vector의 단점을 보완하기 위해서 여러개의 메모리 블록을 할당하고하나의 블록처럼 여기는 기능을 제공합니다. deque는 메모리가 부족할때 마다 일정한 크기의 새로운 메모리 블록을 할당합니다. 그럼으로써, 이전 원소를 복사하지 않습니..

[C++] vector container 정리 및 사용법

안녕하세요. BlockDMask 입니다.오늘은 C++ STL의 sequence container 중에 정말 자주 쓰는 vector에 대해서 알아보겠습니다. 1) vector container 란?2) vector의 사용 3) vector의 생성자와 연산자4-1) vector의 멤버 함수 4-2) vector의 size와 capacity와의 관계 (중요!)5) vector의 멤버 형식 6) vector를 사용하는 다양한 예제 1) vector container 란?vector 컨테이너는 자동으로 메모리가 할당되는 배열. 이라고 생각하면 될거같습니다. 저는 C를 하다가 C++로 넘어와서 이렇게 vector 컨테이너를 처음 접하고 정말 소름이 돋았었습니다. 자동으로 메모리를 할당해주고 알아서 끝에 들어가주고 ..

반응형