https://en.cppreference.com/w/cpp/container/deque
Deque란?
"Deque" redirects here. It is not to be confused with dequeueing, a queue operation.
Not to be confused with Double-ended priority queue.
"Deque는 dequeing(queue에서 원소 제거하기)이나 double-ended priority(우선순위) queue와 헷갈려서는 안된다. 서로는 다르다!"
Deque(double-ended queue) is an abstract data type that generalizes a queue, for which elements can be added to or removed from either the front or back.
여기서 주의해야할 것은, deque는 양방향으로 원소를 추가 및 삭제가 용이한 자료구조일 뿐,
어떠한 우선순위나 정렬된 데이터 형태를 나타내는 것이 아니다!
그러므로, 정렬을 원할 땐, sort함수를 같이 써야 한다.
예제
#include <iostream>
#include <deque>
#include <algorithm> // sort함수
int main()
{
// Create a deque containing integers
std::deque<int> d = {7, 5, 16, 8};
// Add an integer to the beginning and end of the deque
d.push_front(13); // front에 넣기
d.push_back(25); // back에 넣기
d.pop_front(); // front 꺼내기
d.pop_back(); // back 꺼내기
std::sort(d.begin(), d.end()); // 오름차순 정렬
// Iterate and print values of deque
for(int n : d) {
std::cout << n << '\n';
}
}
'알고리즘 문제풀이 > 알고리즘' 카테고리의 다른 글
[c++] substr 함수 (0) | 2020.04.15 |
---|---|
[c++] priority_queue 함수 / 우선순위 큐란? (0) | 2020.04.11 |
[c++] 문자열, 숫자 변환 / stoi 함수 / to_string 함수 / (0) | 2020.03.27 |
[c++] 완전탐색(Brute-Force) / 순열 / next_permutation 함수 (0) | 2020.03.27 |
[c++] DFS(깊이 우선 탐색) / 개념 / 함수 구현 (1) | 2020.03.03 |