본문 바로가기

카테고리 없음

STL queue를 사용하는 방법과 예제를 총정리한 한글 제목입니다.

1. STL queue란

STL(Standard Template Library) queue는 큐(queue) 자료구조를 구현한 C++ 템플릿 라이브러리입니다. 큐는 선입선출(FIFO, First-In-First-Out) 원칙에 따라 데이터를 저장하고 접근하기 위한 자료구조로, STL queue는 이러한 큐의 기능을 제공합니다.

2. STL queue 사용 방법

STL queue를 사용하기 위해서는 <queue> 헤더 파일을 포함해야 합니다. 아래는 STL queue를 사용하는 기본적인 방법입니다:

2.1. 큐 생성하기

#include <queue>

int main() {
  std::queue<int> myQueue;

  // 큐에 데이터 추가 및 접근
  myQueue.push(1);
  myQueue.push(2);

  // 큐의 크기
  int size = myQueue.size(); // 2

  // 큐의 첫 번째 요소 접근
  int front = myQueue.front(); // 1

  return 0;
}

2.2. 큐에 데이터 추가하기

#include <queue>

int main() {
  std::queue<int> myQueue;

  myQueue.push(1);
  myQueue.push(2);

  return 0;
}

2.3. 큐에서 데이터 제거하기

#include <queue>

int main() {
  std::queue<int> myQueue;

  myQueue.push(1);
  myQueue.push(2);

  myQueue.pop(); // 큐의 첫 번째 요소 제거

  return 0;
}

3. STL queue 예제

아래는 STL queue를 사용하여 큐를 구현하는 예제 코드입니다:

#include <iostream>
#include <queue>

int main() {
  std::queue<int> myQueue;

  myQueue.push(1);
  myQueue.push(2);
  myQueue.push(3);

  while(!myQueue.empty()) {
    std::cout << myQueue.front() << " "; // 큐의 첫 번째 요소 출력
    myQueue.pop(); // 큐의 첫 번째 요소 제거
  }

  return 0;
}

위 예제는 1, 2, 3 순서로 큐에 데이터를 추가하고, 큐의 모든 요소를 출력하면서 제거하는 예제입니다. 출력 결과는 "1 2 3"입니다.

1. STL queue란

STL(Standard Template Library) queue는 C++ 템플릿 라이브러리에서 제공하는 자료구조 중 하나로, 큐(queue) 자료구조를 구현한 것입니다. 큐는 데이터를 저장하고 접근하는 방식이 "선입선출(FIFO, First-In-First-Out)" 방식으로 동작합니다. 즉, 먼저 들어간 데이터가 먼저 나오게 됩니다.

STL queue는 이러한 큐의 특징과 동작을 제공하여 다양한 상황에서 효율적인 데이터 관리를 할 수 있도록 합니다. 큐는 주로 순차적으로 처리되어야 하는 데이터를 관리할 때 사용되며, 예를 들면 작업 큐, 메시지 큐, 버퍼 등 다양한 상황에서 사용될 수 있습니다.

STL queue는 <queue> 헤더 파일에 정의되어 있으며, C++ 표준 라이브러리의 일부인 STL의 일부분으로 제공됩니다. 이를 통해 개발자는 큐를 쉽게 사용하고 관리할 수 있습니다.

2. STL queue 사용 방법

STL queue를 사용하기 위해서는 <queue> 헤더 파일을 포함해야 합니다. 아래는 STL queue를 사용하는 기본적인 방법입니다:

2.1. 큐 생성하기

#include <queue>

int main() {
  std::queue<int> myQueue;

  // 큐에 데이터 추가 및 접근
  myQueue.push(1);
  myQueue.push(2);

  // 큐의 크기
  int size = myQueue.size(); // 2

  // 큐의 첫 번째 요소 접근
  int front = myQueue.front(); // 1

  return 0;
}

위의 코드에서는 <queue> 헤더 파일을 포함하고 std::queue<int> myQueue;와 같이 큐 객체를 생성합니다. 그리고 myQueue.push(1)과 같이 push 함수를 사용하여 큐에 데이터를 추가할 수 있습니다. 큐의 크기는 size 함수로 확인할 수 있으며, 첫 번째 요소에 접근하기 위해서는 front 함수를 사용합니다.

2.2. 큐에 데이터 추가하기

#include <queue>

int main() {
  std::queue<int> myQueue;

  myQueue.push(1);
  myQueue.push(2);

  return 0;
}

위의 코드에서는 push 함수를 사용하여 큐에 데이터를 추가합니다. myQueue.push(1)myQueue.push(2)를 통해 큐에 각각 1과 2라는 데이터를 추가합니다.

2.3. 큐에서 데이터 제거하기

#include <queue>

int main() {
  std::queue<int> myQueue;

  myQueue.push(1);
  myQueue.push(2);

  myQueue.pop(); // 큐의 첫 번째 요소 제거

  return 0;
}

위의 코드에서는 pop 함수를 사용하여 큐에서 데이터를 제거합니다. myQueue.pop()을 호출하면 큐의 첫 번째 요소가 제거됩니다. 큐의 크기는 자동으로 조절되므로, 요소가 제거될 때마다 크기가 줄어듭니다.

이처럼 STL queue는 큐를 다루는 기본적인 기능들을 제공하여 편리하게 사용할 수 있도록 합니다.

3. STL queue 예제

아래는 STL queue를 활용한 예제 코드입니다.

#include <iostream>
#include <queue>

int main() {
  std::queue<int> myQueue;

  // 큐에 데이터 추가
  myQueue.push(1);
  myQueue.push(2);
  myQueue.push(3);

  // 큐의 크기 출력
  std::cout << "Queue size: " << myQueue.size() << std::endl;

  // 큐의 첫 번째 요소 출력
  std::cout << "Front element: " << myQueue.front() << std::endl;

  // 큐의 마지막 요소 출력
  std::cout << "Back element: " << myQueue.back() << std::endl;

  // 큐의 모든 요소 출력
  while (!myQueue.empty()) {
    std::cout << myQueue.front() << " ";
    myQueue.pop();
  }

  return 0;
}

위 코드는 큐에 데이터를 추가하고, 큐의 크기를 출력한 뒤 첫 번째 요소와 마지막 요소를 출력합니다. 마지막으로 큐의 모든 요소를 출력하면서 큐를 비워나갑니다.

실행 결과는 다음과 같습니다:

Queue size: 3
Front element: 1
Back element: 3
1 2 3

위 예제를 통해 STL queue의 기본적인 동작을 확인할 수 있습니다. 큐에 데이터를 추가하고 접근하는 방법, 큐의 크기를 확인하는 방법, 첫 번째 요소와 마지막 요소에 접근하는 방법, 그리고 모든 요소를 순차적으로 접근하여 출력하는 방법을 알 수 있습니다.