[STL] Queue 생성, 삽입, 삭제 등 사용법

Notepad96

·

2020. 11. 9. 10:09

300x250

 

 
 

1. queue

 

queue(큐)는 선입선출(FIFO)의 구조로서 가장 먼저 들어온 것이 가장 먼저나가는 자료 구조이다.

 

 

 

이는 간단하게 선착순 줄서기를 생각하면 된다.

 

queue

마치 줄을 선 순서처럼 가장 먼저 줄을 선사람이 가장 먼저 순번이 찾아오는 것과 마찬가지이다.

 

 

 

STL에서는 stack처럼 queue도 템플릿 클래스로 구현되어 있어 간단한 멤버 함수들만 알고 있다면 간단하게 사용할 수 있다.

 

 

 

 


2. 코 드

환경 : Visual Studio 2019
 
#include <iostream>
#include <queue>
using namespace std;

int main() {
	queue<int> q;

	if (q.empty()) {
		cout << "큐가 비어있습니다.\n";
	}

	q.push(5);	// 5
	q.push(3);	// 5 3
	q.push(2);	// 5 3 2
	q.push(4);	// 5 3 2 4
	q.push(7);	// 5 3 2 4 7
	q.pop();	// 3 2 4 7

	cout << "사이즈 : " << q.size() << "\n";
	cout << "맨 앞 : " << q.front() << "\n";
	cout << "맨 뒤 : " << q.back() << "\n";

	while (!q.empty()) {
		cout << q.front() << " ";
		q.pop();
	}
	cout << "\n";

	return 0;
}
 
 
결과
 
 

- empty : 큐가 비어있는지 검사한다. 비어있다면 true

- size : 큐에 길이를 구한다.

 
 
 

- stack에서는 top 멤버 함수로 다음의 pop될 가장 나중에 들어온 원소를 찾았다면

 
queue에서는 front와 back 멤버 함수가 존재한다.
 
 
 

queue는 가장 먼저 들어온 것이 가장 앞서서 나가므로 이는 front()에 해당하며

가장 나중에 들어온 데이터는 back()으로 얻을 수 있다.

 
 
 
 
 


3. 참 조

 

 

queue - C++ Reference

container_typeThe second template parameter (Container)Type of the underlying container

www.cplusplus.com

 

300x250