ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [STL] C++ Queue 큐 사용법
    STL 2020. 4. 3. 21:38

    Queue (큐)

     

    스택(Stack) 다음으로 가장 많이 사용하는 자료구조 큐(Queue)의 사용법에 대해 알아본다

    큐라는 자료구조 자체가 생소한 경우에는 아래에서 먼저 확인할 수 있다

    https://ko.wikipedia.org/wiki/%ED%81%90_(%EC%9E%90%EB%A3%8C_%EA%B5%AC%EC%A1%B0)

    이 장에서는 사용법에 대해서만 다루도록 한다

     

    선언

    #include <queue>
    //큐를 사용하기 위한 헤더파일 선언
    
    queue<int> q;
    //큐 변수를 생성

     

    기본적인 사용법 (1) : 삽입, 삭제

    int value;
    
    q.push(value);
    //큐의 맨 뒤에 value 값을 추가
    
    q.pop();
    //큐의 맨 앞에 있는 값을 삭제 (뒤에 있는 값들이 모두 앞으로 당겨짐)

     

    기본적인 사용법 (2) : 값 읽기

    q.front();
    //큐 맨 앞의 값을 반환
    
    q.back();
    //큐 맨 뒤의 값을 반환

     

    기본적인 사용법 (3) : 자주 사용되는 메소드

    q.empty();
    //큐가 비어있는지 확인
    //비어있다면 true, 비어있지 않다면 false 반환
    
    q.size();
    //큐에 들어있는 원소들의 개수를 반환

     

    활용 (1) : 큐의 원소의 개수가 여러개인 경우

    int value1, value2, value3;
    
    queue<int, int> double_q;
    //큐 한칸에 두개의 값을 넣는 경우 ex) 좌표, 방향
    
    queue<<int, int>, int>> triple_q;
    //큐 한칸에 세개의 값을 넣는 경우
    
    double_q.push(make_pair(value1, value2));
    //큐에 두개의 값을 추가
    
    triple_q.push(make_pair(make_pair(value1, value2), value3));
    //큐에 세개의 값을 추가
    
    double_q.front().first;
    double_q.front().second;
    //큐의 맨 앞에 있는 원소에서 각각 첫번째 값, 두번째 값을 반환
    
    triple_q.front().first.first;
    triple_q.front().first.second;
    triple_q.front().second;
    //큐의 맨 앞에 있는 원소의 세개의 값을 차례로 반환

     

    개발환경

    C++@Xcode
    macOS 10.14 Mojave

Designed by Tistory.