Language/C++

[C++ 큐] Queue 기본 사용법

박땅콩 2022. 7. 15.
728x90

C++의 STL에서 사용하는 Queue(큐)의 기본 사용법에 대해 알아보려고 합니다.

 

 

목차

 

  • Queue(큐) 란?
  • Queue(큐)의 기본 사용법

 

 

1. Queue(큐) 란?

 

Queue(큐)는 먼저 집어넣은 데이터가 먼저 나오는 구조(First In First Out)입니다.

먼저 넣은 데이터가 나중에 나오는 스택(First In Last Out)과는 반대되는 구조입니다.

 

큐의 기본 함수에는 push, pop, front, back, empty, size, swap 등이 있습니다.

스택과 다르게 첫번째 원소(front)와 마지막 원소(back)에 접근할 수 있습니다.

 

 

위키백과 - 큐

 

 

2. Queue(큐)의 기본 사용법

 

 

2-1. Queue(큐) 헤더파일

 

 

#include <queue>

std::queue<int> q;

 

 

큐를 사용하기 위해선 #include <queue> 헤더파일을 포함해야합니다.

기본 형식은 std::queue<자료형> 변수명; 입니다.

 

 

2-2 Queue(큐) 기본 함수

 

 

멤버 함수 결과
q.front() 큐의 맨 앞 원소(첫번째 원소)를 반환
q.back() 큐의 맨 뒤 원소(마지막 원소)를 반환
q.push(값) 큐의 맨 뒤에 원소를 추가
q.pop() 큐의 맨 앞 원소를 삭제
q.size() 큐의 현재 사이즈를 반환
q.empty() 큐가 비어있으면 1, 비어있지 않다면 0을 반환
q.swap(큐)
또는
swap(큐1, 큐2)
2개의 큐 내용을 변경

 

 

#include <queue>
#include <iostream>

using namespace std;

int main(void)
{
    queue<int> q;
    q.push(5); // 큐 상태: 5
    q.push(4); // 큐 상태: 5 4
    q.push(3); // 큐 상태: 5 4 3

    q.pop(); // 큐 상태 4, 3
    q.push(18); // 큐 상태 4, 3, 18

    cout << q.front() << '\n'; // 4
    cout << q.size() << '\n'; // 큐 사이즈 : 3
    cout << q.back() << '\n'; // 18

    if(q.empty()) {
        cout << "queue empty\n";
    } else {
        cout << "queue not empty\n"; // OK
    }

    queue<int> emptyq;
    q.swap(emptyq); // 빈 큐와 swap하여 clear

    if(q.empty()) {
        cout << "queue empty\n"; // OK
    } else {
        cout << "queue not empty\n";
    }
    return 0;
}

 

 

※ Tip

 

큐에서는 멤버함수로 clear함수가 없지만, swap 함수를 이용하여 clear가 가능합니다.

빈 큐를 생성하고 swap 함수를 이용하여 큐를 clear 할 수 있습니다.

728x90

'Language > C++' 카테고리의 다른 글

[C++ stable_sort] stable_sort  (0) 2022.12.15
[C++ 스택] Stack 기본 사용법  (0) 2022.07.18
[C++ 순열과 조합] next_permutation  (1) 2022.07.12
[C++ 문자열 치환] regex_replace  (0) 2022.07.11

댓글