본문 바로가기

공부/Standard Template Library (C++ STL)

[C++ STL] Queue

1. Queue

- FIFO 자료형이다.

- 가장 먼저 들어간 자료가 가장 먼저 나온다.

- 임의접근이 불가능 하다.

- 내부는 deque로 이루어져있다.

- 임의 접근이 가능한 deque의 기능을 제한하여 임의 접근이 불가능 하게 한 형태

 

2. Include

#include <queue>

3. 생성자

std::queue<T> name;
std::queue<T> name(const _Container& otherContainer); // queue, deque
std::queue<T,otherContainer<T>> name(const _Container& otherContainer); 
// list, deque, other circular buffer (make your own)
/* ex)
    list<int> li(5,100);
    queue<int,list<int>> q(li);
*/

namespace std를 사용.

지정된 컬렉션의 요소들을 복사하여 생성 가능.

 

4. function

// queue의 끝 부분에 새로운 원소 삽입
void push(T)

// queue의 앞에 있는 원소를 제거(반환값 없음)
void pop()

// queue의 제일 앞에 있는 원소의 값을 반환한다.
reference front()

// queue의 끝 부분에 있는 원소의 값을 반환한다.
reference back()

// queue의 원소 수를 반환
size_type size()

// queue가 비어있으면 true를 반환
bool empty()

// 두 queue의 내용을 바꾼다.
void swap(queue<T>& _Right)
void swap(queue<T,_Container>& _Left, queue<T,_Container>& _Right)

// container(deque) 레퍼런스 반환
const _Container& _Get_container()

// T의 생성자에 파라미터를 넘겨서 T객체 생성후 push
void emplace(_Valty&&... _Val)

'공부 > Standard Template Library (C++ STL)' 카테고리의 다른 글

[C++ STL] Set, Multiset  (0) 2019.04.26
[C++ STL] Vector  (0) 2019.04.26
[C++ STL] Deque  (0) 2019.04.26
[C++ STL] List  (0) 2019.04.25
[C++ STL] Stack  (0) 2019.04.25