Search

[STL] Deque 덱

생성일
2023/06/12 04:05
태그
C++

[STL] Deque 덱

Deque 덱?

Double-ended Queue의 약자로 Queue에 양쪽에서 삽입, 삭제가 다 이뤄질 수 있다는 점이 추가된 자료구조이다.
Queue와는 다르게 front와 back 양쪽에서 삽입, 삭제가 다 이뤄질 수 있는 자료구조로 유용하게 사용할 수 있다.
#include <deque> queue<int> dq;
C++
복사

Deque Library 메소드

push_front(element)

덱의 제일 앞에 element를 추가한다.

push_back(element)

덱의 제일 뒤에 element를 추가한다.

pop_front()

덱에 있는 원소 중 제일 앞에 있는 원소를 삭제한다.

pop_back()

덱에 있는 원소 중 제일 뒤에 있는 원소를 삭제한다.

front()

덱의 제일 앞에 있는 원소를 반환한다.

back()

덱의 제일 뒤에 있는 원소를 반환한다.

empty()

덱이 비어 있으면 true, 그렇지 않으면 false를 반환한다.

size()

덱의 사이즈를 반환한다.

예제)

#include <iostream> #include <deque> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); deque<int> dq; for (int i = 1; i <= 5; i++) { if (i % 2 == 1) dq.push_front(i); else dq.push_back(i); } for (int i = 1; i <= 5; i++) { cout << dq.front() << '\n'; dq.pop_front(); } } // OUTPUT // (front) // 5 // 3 // 1 // 2 // 4 // (back)
C++
복사