일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- BST
- 응용 계층
- BHS
- DB
- Djikstra
- 부트시퀀스
- 자료구조
- Network
- swea
- 전송 계층
- Application Layer
- 릿코드
- Embedded
- baekjoon
- Database
- dp
- leetcode
- 임베디드
- 네트워크
- boot sequence
- 다익스트라
- 백준
- 문제풀이
- Transport layer
- ps
- 프로그래머스
- C++
- 관계형 모델
- 데이터베이스
- STL
- Today
- Total
목록C++ (4)
BOBO's Note
보호되어 있는 글입니다.
C++ C++11부터 추가된 튜플은 에 정의되어 있으며, pair를 일반화한 컨테이너로 임의의 형식, 임의의 개수의 원소들을 담을 수 있다. 튜플끼리 비교할 때, 원소가 나열된 순서대로 비교한다. 튜플 t의 i번째 원소를 얻고 싶으면 다음과 같이 std::get() 함수를 사용하면 된다. 실제 함수를 호출할 때에는 i 위치에 변수를 사용할 수 없다. std::get(t); // i should be constant 또한, 데이터 type이 x인 원소를 얻고 싶으면 다음과 같이 std::get() 함수를 사용하면 된다. 이때, type이 x인 원소가 2개 이상이면 컴파일 에러가 발생한다. 즉, type이 고유한 원소에 대해서만 작동한다. std::get(t) std::make_tuple() 함수를 사용해 ..
우선순위 큐(Priority Queue)는 우선순위가 높을수록 앞쪽에 위치하는 큐이다. 내부적으로는 heap 자료구조를 사용하므로 전체 N개의 데이터가 존재할 때, 큐의 첫번째 요소를 얻는 데에 O(1), 삽입 및삭제는 O(logN)의 시간이 걸린다. Heap - 추가 예정 - C++ 에 정의되어 있으며 element 타입, 컨테이너 형식(vector 또는 deque), 정렬 기준(less 또는 greater)을 지정해줄 수 있다. 더보기 컨테이너 적응자(container adaptor)에는 stack, queue, priority_queue가 있다. 컨테이너 적응자의 특징은 다음과 같다. 순차 컨테이너보다 축소된 인터페이스를 제공한다. STL 알고리즘을 직접 적용할 수 없다. element 타입, 순차..
데크(Deque)는 Double-Ended QUEue의 줄임말로, 양쪽 끝에서 삽입/삭제가 가능한 자료구조이다. C++ 에 정의되어 있으며, 선형 배열 형태의 순차 컨테이너이다. 양쪽 끝에서의 삽입 및 삭제가 O(1)에 가능하다. 벡터는 연속된 공간에 메모리를 할당해 데이터를 순차적으로 저장하고, 공간이 부족하면 메모리를 재할당해 데이터를 복사한다. 이러한 재할당 오버헤드를 줄이기 위해 데크에서는 여러 개의 블록으로 쪼개어 저장한다. 따라서 포인터 연산을 통해 원소에 접근할 순 없지만, 인덱스를 통해 접근할 수는 있다. 대표적으로 다음과 같은 연산이 있다. size(): 데크의 크기를 반환한다. empty(): 데크가 비어있다면 true를, 그렇지 않은 경우 false를 반환한다. front(): 데크의..