Queue
1) 정의
FIFO(First In First Out, 선입선출) 자료구조
2) 용도
(1) BFS
(2) 특별한 알고리즘을 사용하는 것이 아니라 직접 문제 상황을 구현하는 문제들 중 FIFO의 구조를 문제를 풀때
3) 사용법
queue q;
q.size(); // q의 사이즈(물리적 저장 용량이 아닌 원소의 개수)
q.empty(); // q의 사이즈가 0인지 아닌지를 확인
q.front(); // q에 가장 먼저 들어간 원소를 리턴
q.back(); // q에 가장 나중에 들어간 원소를 리턴
q.push(val); // q의 뒤에 val 추가
q.pop(); // q에 가장 먼저 들어간 원소를 삭제
중요한 내용
queue q, emt;
swap(q, emt);
swap 함수 : queue에는 clear() 멤버 함수가 없으므로 swap이라는 함수를 이용해 clear() 하고자 하는 queue를 빈 queue와 swap해줌으로써 clear()와 같은 효과를 낼 수 있다.
key point
- swap을 이용하는 것이 queue가 빌 때까지 원소를 pop()하는 것보다 빠르다.
참고자료
댓글