Menu
CoddyTech

큐

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()한 큐의 내용을 다른 큐와 바꿉니다.
challenge icon

챌린지

쉬움

입력으로 10개의 숫자가 주어집니다. 큐를 사용하여 숫자를 하나씩 제거하면서 짝수인 숫자만 출력하세요.

 

Input
1 2 3 4 5 6 7 8 9 10
Output
2 4 6 8 10

직접 해보기

#include <queue>
#include <iostream>

using namespace std;

int main()
{
    // Enter your code here

    return 0;
}

C++ - 표준 템플릿 라이브러리의 모든 레슨

직접 연습해 보세요: 온라인 C++ 컴파일러