5. c++ STL deque

han811·2021년 2월 8일
0

c++

목록 보기
5/14
post-thumbnail
  • 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;
}
  • 자세한건 아래의 reference 참조
reference
profile
han811

0개의 댓글