ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C++ STL] queue
    C++ STL 2023. 2. 21. 19:59

     

    Queue : FIFO ( First In First Out )

    1. Sequence Container (순서존재)

    2. Iterator 사용불가

    stack/queue/priority_queue 는 iterator 연산을 제공해주지 않는다!

    따라서 iterator형을 parameter로 갖는 함수들도 쓸 수가 없다

    3. stack과 동일하게 random access 불가 + 조회기능 없음

    안에 원소를 조회해야하면 직접 다 까보는 수밖에 없음

    근데 ps할때 직접 queue를 까보는 코드가 있으면 이건 자료구조를 잘못사용한거임

    즉 조회를 해야한다면 queue를 애초에 안쓰는게 맞다.

     


    [ Functions ]


    stack과 동일하게  함수가 굉장히 적다

    stack과 똑같은 이유인데 queue가 무조건 필요한 일 아니면 쓰지 말란 얘기이다

     

    push(val)

    pop()

    참고로 pop() 은 뺀 원소를 반환하지 않는다!

    return void 형이다

     

    size()

    empty()

     

    front()

    back()

     

    emplace()

    stack의 emplace()와 동일하다

    push와 100% 똑같은 결과물을 만들어 낸다.

    객체를 사용할때 상황에 따라 push대신 emplace를 사용하면 된다

     

    queue도 stack과 동일하게 조회기능이 없다!

    Iterator도 제공안한다.

    따라서 stack과 똑같은 방식으로 참조하는 수 밖에 없다.

    직접 다 까보는 방식이다.

    while(!que.empty()){
    	cout<< que.front() << endl;
    	que.pop();
    }

    'C++ STL' 카테고리의 다른 글

    [C++ STL] map  (0) 2023.02.22
    [C++ STL] list  (0) 2023.02.21
    [C++ STL] deque  (0) 2023.02.21
    [C++ STL] stack  (0) 2023.02.21
    [C++ STL] vector  (0) 2023.02.20