deque는 양 끝에서만 자료를 넣고 뺼 수 있는 자료구조로 c++ stl에서 container로 구현되어 있습니다.
기본함수
push_front(n) : 덱의 맨 앞에 원소 추가
push_back(n) : 덱의 맨 뒤에 원소 추가
pop_front() : 덱의 맨 앞의 원소 삭제 - 덱이 비어있을 시 segment fault 발생
pop_back() : 덱의 맨 뒤의 원소 삭제 - 덱이 비어있을 시 segment fault 발생
front() : 덱의 맨 앞의 원소 반환 - 덱이 비어있을 시 segment fault 발생
back() : 덱의 맨 뒤의 원소 반환 - 덱이 비어있을 시 segment fault 발생
사용법
#include <iostream>
#include <deque>
using namespace std;
int main() {
deque<int> dq;
for(int i=0; i<5; i++){
dq.push_back((i+1) *10);
}
//iterator 선언
deque<int>::iterator iter;
//[default 출력]
cout << "[Default] : " ;
for(iter = dq.begin(); iter != dq.end() ; iter++){
cout << *iter << " ";
}
cout << endl << endl;
//[test1] : 앞 뒤 삽입
cout << "[Test1] push_front & end : " ;
dq.push_front(1);
dq.push_front(2);
dq.push_back(100);
dq.push_back(200);
for(iter = dq.begin(); iter != dq.end() ; iter++){
cout << *iter << " ";
}
cout << endl ;
//[test2] : 역으로 출력
cout << "[Test2] reverse_iterator : ";
deque<int>::reverse_iterator rIter;
for(rIter = dq.rbegin(); rIter != dq.rend() ; rIter++) {
cout << *rIter << " ";
}
cout << endl ;
return 0;
}