C++에서는 Queue를 직접 구현할 필요 없이 간단하게 사용할 수 있게 제공한다.
#include<queue> 를 추가해서 사용한다.
선언
queue<int> abc;
queue<char> abc1;
queue<vector<int>> abc2; // 이런식으로 벡터를 원소로 갖는 queue도 생성 가능함.
사용
1. push() , pop()
push는 queue에 데이터 삽입(제일 뒤에)
pop은 queue의 첫번째 데이터 삭제
※ 이 때. pop은 첫번째 값을 return 하지는 않는다. 요소를 삭제만하는 것에 유의.
ex)
abc.push(5); // abc라는 q에 데이터 5 add
abc.push(6);
abc.push(17);
// 현재 q의 형태 : [ 5, 6, 17]
abc.pop(); // [6,17]
2. front(), back();
abc.front();// abc라는 q의 제일 첫번째 데이터 return
abc.back();// abc라는 q의 제일 뒤에 있는 데이터 return
3. size()
abc.size();현재 queue의 사이즈 return (현재 갖고있는 엘리먼트 갯수)
4.empty()
현재 queue 사이즈가 0이면 true return
abc.empty();
5. 몇 가지 예시들
5-1 # vector를 input으로하는 queue 사용.
queue<vector<int>> abc;
vector<int> test;
test.push_back(100);
test.push_back(10);
// [ 100 , 10 ]
abc.push(test);
test[0]=200;
test[1]=20;
abc.push(test);
// 이때 queue에 현재 들어간 데이터 형태 : [100,10] , [200,20]
abc.size() -> 2를 리턴
abc.front() -> [100,10] 의 vector를 return
abc.pop() -> 첫번째 element가 삭제되어 queue에 남은 데이터는 [200, 20]이 될 것.
5-2) struct를 input으로하는 queue 사용
typedef struct{
int index;
string str_input;
}st_Test; // 구조체 선언
queue<st_Test> abc;
라고 라고 큐 선언해서 사용하면 됨.
'프로그래밍 관련 > C++' 카테고리의 다른 글
C++ map (0) | 2020.05.02 |
---|---|
C++ stack (0) | 2020.05.01 |
c++ sort (0) | 2020.04.29 |
C++ string (0) | 2020.04.26 |
C++ vector (0) | 2020.04.26 |