C++/STL 컨테이너

STL 컨테이너 - queue

coding-potato 2025. 1. 7. 18:14

queue

C++에서 std::queue는 FIFO(First In, First Out) 방식의 컨테이너 어댑터입니다. 즉, 가장 먼저 삽입된 요소가 가장 먼저 제거되는 자료 구조입니다. 주로 대기열, 작업 큐, 이벤트 처리 등 순차적인 처리가 필요한 곳에서 사용됩니다.

1. std::queue의 특징

  • FIFO 구조:
    • 먼저 들어온 데이터가 먼저 나가는 구조입니다.
  • 컨테이너 어댑터:
    • std::queue는 자체적인 데이터 구조가 아니라, 다른 컨테이너(기본값: std::deque)를 기반으로 동작합니다.
    • 내부적으로 std::deque 또는 std::list와 같은 컨테이너를 사용할 수 있습니다.
  • 순차 접근 불가:
    • 큐에서는 요소를 순차적으로 탐색하거나 인덱스로 접근하는 메서드가 제공되지 않습니다.
  • 효율성:
    • 삽입(push)과 삭제(pop) 작업에 최적화되어 있습니다.

2. 헤더 파일

std::queue를 사용하려면 <queue> 헤더 파일을 포함해야 합니다.

3. 선언 및 초기화

4. 주요 멤버 함수

push(val) 큐의 맨 뒤에 요소를 추가.
pop() 큐의 맨 앞 요소를 제거.
front() 큐의 맨 앞 요소를 반환.
back() 큐의 맨 뒤 요소를 반환.
empty() 큐가 비어 있으면 true, 아니면 false를 반환.
size() 큐에 포함된 요소의 개수를 반환.

 

'C++ > STL 컨테이너' 카테고리의 다른 글

STL 컨테이너 - deque  (0) 2025.01.07
STL 컨테이너 - priority_queue  (0) 2025.01.07
STL 컨테이너 - stack  (0) 2025.01.07
STL 컨테이너 - list  (0) 2025.01.07
STL 컨테이너 - vector  (0) 2025.01.07