💡 퀵 접속: cpp.kr/queue
C++ 표준 라이브러리의 컨테이너 어댑터로, FIFO(First In First Out) 방식으로 동작하는 큐를 구현합니다.
#include <iostream>
#include <queue>
int main() {
// 큐 생성
std::queue<int> q;
// 요소 추가
q.push(1);
q.push(2);
q.push(3);
// 큐 크기
std::cout << "큐 크기: " << q.size() << std::endl;
// 요소 출력
std::cout << "큐의 요소들: ";
while (!q.empty()) {
std::cout << q.front() << " ";
q.pop();
}
std::cout << std::endl;
return 0;
}
실행 결과:
큐 크기: 3 큐의 요소들: 1 2 3
#include <iostream>
#include <queue>
#include <string>
int main() {
std::queue<std::string> tasks;
// 작업 추가
tasks.push("작업 1");
tasks.push("작업 2");
tasks.push("작업 3");
// 첫 번째 작업 확인
std::cout << "다음 작업: " << tasks.front() << std::endl;
// 마지막 작업 확인
std::cout << "마지막 작업: " << tasks.back() << std::endl;
// 작업 처리
std::cout << "\n작업 처리:" << std::endl;
while (!tasks.empty()) {
std::cout << "처리 중: " << tasks.front() << std::endl;
tasks.pop();
}
return 0;
}
실행 결과:
다음 작업: 작업 1 마지막 작업: 작업 3 작업 처리: 처리 중: 작업 1 처리 중: 작업 2 처리 중: 작업 3
#include <iostream>
#include <queue>
int main() {
std::queue<int> q1;
// 원본 큐에 요소 추가
for (int i = 1; i <= 3; ++i) {
q1.push(i);
}
// 큐 복사
std::queue<int> q2 = q1;
// 복사된 큐 출력
std::cout << "복사된 큐의 요소들: ";
while (!q2.empty()) {
std::cout << q2.front() << " ";
q2.pop();
}
std::cout << std::endl;
return 0;
}
실행 결과:
복사된 큐의 요소들: 1 2 3
| 메서드 | 설명 |
|---|---|
| push() | 요소 추가 |
| pop() | 첫 번째 요소 제거 |
| front() | 첫 번째 요소 접근 |
| back() | 마지막 요소 접근 |
| size() | 요소 개수 반환 |
| empty() | 큐가 비어있는지 확인 |
| swap() | 다른 큐와 내용 교환 |