-
[C++ STL] queueC++ 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