-
[STL] C++ Queue 큐 사용법STL 2020. 4. 3. 21:38
Queue (큐)
스택(Stack) 다음으로 가장 많이 사용하는 자료구조 큐(Queue)의 사용법에 대해 알아본다
큐라는 자료구조 자체가 생소한 경우에는 아래에서 먼저 확인할 수 있다
https://ko.wikipedia.org/wiki/%ED%81%90_(%EC%9E%90%EB%A3%8C_%EA%B5%AC%EC%A1%B0)
이 장에서는 사용법에 대해서만 다루도록 한다
선언
#include <queue> //큐를 사용하기 위한 헤더파일 선언 queue<int> q; //큐 변수를 생성기본적인 사용법 (1) : 삽입, 삭제
int value; q.push(value); //큐의 맨 뒤에 value 값을 추가 q.pop(); //큐의 맨 앞에 있는 값을 삭제 (뒤에 있는 값들이 모두 앞으로 당겨짐)기본적인 사용법 (2) : 값 읽기
q.front(); //큐 맨 앞의 값을 반환 q.back(); //큐 맨 뒤의 값을 반환기본적인 사용법 (3) : 자주 사용되는 메소드
q.empty(); //큐가 비어있는지 확인 //비어있다면 true, 비어있지 않다면 false 반환 q.size(); //큐에 들어있는 원소들의 개수를 반환활용 (1) : 큐의 원소의 개수가 여러개인 경우
int value1, value2, value3; queue<int, int> double_q; //큐 한칸에 두개의 값을 넣는 경우 ex) 좌표, 방향 queue<<int, int>, int>> triple_q; //큐 한칸에 세개의 값을 넣는 경우 double_q.push(make_pair(value1, value2)); //큐에 두개의 값을 추가 triple_q.push(make_pair(make_pair(value1, value2), value3)); //큐에 세개의 값을 추가 double_q.front().first; double_q.front().second; //큐의 맨 앞에 있는 원소에서 각각 첫번째 값, 두번째 값을 반환 triple_q.front().first.first; triple_q.front().first.second; triple_q.front().second; //큐의 맨 앞에 있는 원소의 세개의 값을 차례로 반환개발환경
C++@Xcode
macOS 10.14 Mojave