큐
Coddy의 C++ - 표준 템플릿 라이브러리 코스 레슨. 23개 중 11번째.
C++ Queue는 큐의 기능을 제공하는 데이터 구조로, 더 정확하게는 FIFO (First in-First out, 선입선출) 원칙을 따릅니다. 이는 큐에 먼저 추가된 요소가 큐에서 먼저 나가거나 먼저 제거된다는 것을 의미합니다.

queue<dataType> queueName;C++에서 큐를 생성하려면, #include <queue>를 사용하여 C++ 파일 상단에 queue 헤더 파일을 포함해야 합니다.
이제 프로그램에서 다음과 같이 큐를 선언할 수 있습니다.
queue<int> queueOfNums;큐에 새로운 요소를 추가하는 방법을 배워야 합니다. push() 메서드를 사용하여 이를 수행합니다. push() 메서드는 큐의 끝에 새로운 요소를 삽입합니다.
queueOfNums.push(1);
queueOfNums.push(2);
...다음으로, 큐의 요소를 표시하고 싶습니다. 큐이기 때문에 큐에 가장 먼저 추가된 요소를 표시할 수 있습니다. 이를 위해 front() 메서드를 사용합니다. 이 메서드는 큐의 첫 번째 요소를 반환합니다.
cout << queueOfNums.front();Output:
1가장 위의 요소 또는 스택의 마지막 요소만 출력할 수 있는 stack과 달리, 큐를 사용하면 큐의 마지막 값도 출력할 수 있습니다. back() 메서드를 사용하여 이를 수행하며, 이 메서드는 큐의 마지막 요소를 반환합니다.
queueOfNums.push(3);
cout << queueOfNums.back();Output:
3또한 큐에서 요소를 제거하는 방법도 배워야 합니다. 안타깝게도 큐의 특성상 맨 앞에 있고 가장 먼저 추가된 요소만 제거할 수 있습니다. 큐이기 때문에 마지막 요소를 먼저 제거할 수는 없으며, 이를 위해서는 stack과 LIFO (Last in-First out, 후입선출) 원칙을 사용해야 합니다.
따라서 pop() 메서드를 사용하여 맨 앞의 요소를 제거합니다.
queueOfNums.pop();
cout << queueOfNums.front() << endl;
queueOfNums.pop();
cout << queueOfNums.front();Output:
1
2큐 메서드 (Queue Methods)
| 메서드 | 기능 |
size() | 큐에 있는 요소의 개수를 반환합니다. |
empty() | 큐가 비어 있으면 true를, 그렇지 않으면 false를 반환합니다. |
swap() | 한 큐의 내용을 다른 큐와 바꿉니다. |
챌린지
쉬움입력으로 10개의 숫자가 주어집니다. 큐를 사용하여 숫자를 하나씩 제거하면서 짝수인 숫자만 출력하세요.
Input
1 2 3 4 5 6 7 8 9 10Output
2 4 6 8 10직접 해보기
#include <queue>
#include <iostream>
using namespace std;
int main()
{
// Enter your code here
return 0;
}C++ - 표준 템플릿 라이브러리의 모든 레슨
직접 연습해 보세요: 온라인 C++ 컴파일러