큐(Queue)에 대하여 알아보겠습니다.
- 큐(Queue)의 정의
- 주요 함수
- 코드 예시
A. 큐(Queue)의 정의
큐(Queue)는 먼저 들어온 데이터가 먼저 나오는 선입선출(FIFO, First-In-First-Out) 구조의 컨테이너 어댑터입니다.
이전에 공부하였던 스택(Stack)은 마지막에 들어온 데이터가 처음 나가는 구조로서, 구조에 차이가 있습니다.
큐의 요소의 추가는 back(뒤)에서, 요소의 제거는 front(앞)에서 하여 순차적 처리에 적합합니다.
삽입과 삭제에는 O(1)의 시간복잡도를 가집니다.
큐를 사용하기 위해서는 헤더파일에 queue를 포함하여야 합니다.
#include <queue>
B. 주요 함수
함수 이름 | 기능 |
queue.push(element) | 큐의 뒤에 요소를 추가합니다 |
queue.pop() | 큐의 앞의 요소를 제거합니다 |
queue.front() | 큐의 앞 요소를 반환합니다 |
queue.back() | 큐의 뒤 요소를 반환합니다 |
queue.empty() | 큐가 비어있는지 확인합니다 |
queue.size() | 큐의 크기를 반환합니다. |
C. 코드 예시
간단한 예시 함수를 작성해 보겠습니다.
#include <iostream>
#include <queue>
using namespace std;
int main()
{
queue<int> q;
q.push(10);
q.push(20);
q.push(30);
cout << "front : " << q.front() << "\n";
cout << "back : " << q.back() << "\n";
q.pop();
cout << "After pop : " << q.front() << "\n";
cout << "size : " << q.size() << "\n";
cout << "Is queue empty? : " << q.empty() << "\n";
while (!q.empty()) q.pop();
cout << "Is queue empty? : " << q.empty();
}
front : 10
back : 30
After pop : 20
size : 2
Is queue empty? : 0
Is queue empty? : 1
'C++ > C++ 공부' 카테고리의 다른 글
[C++]참조자(Reference) (1) | 2025.06.19 |
---|---|
[C++]함수의 오버로딩(Function Overloading) (0) | 2025.06.05 |
[C++]재귀함수 (0) | 2025.06.05 |