본문 바로가기
알고리즘/자료구조

큐 <queue>란? (STL 사용법)

by 지칸 2021. 3. 9.

안녕하세요. 지칸입니다.

삼성전자 역량 테스트에 자주 등장하는 자료구조로 큐를 소개하겠습니다.

역량 테스트에서 STL이 사용 가능하기 때문에 C++ 사용자분들은 라이브러리를 사용하시면 간편하게 이용할 수 있습니다.


1) Queue란?

2) c++ STL 사용 예제

3) STL Queue 함수

 

삼성 SW역량테스트에서 자주 사용할만한 자료구조는 아래와 같습니다.

2021.03.08 - [알고리즘/자료구조] - 스택 이란? (STL 사용법)

2021.03.09 - [알고리즘/자료구조] - 큐 란? (STL 사용법)

2021.03.09 - [알고리즘/자료구조] - 벡터 란? (STL 사용법)

2021.03.12 - [알고리즘/자료구조] - 페어(Pair) 란? (STL 사용법)


1) Queue란?

Queue는 아래와 같이 FIFO(First In First Out) 방식의 데이터 저장소입니다.

Queue 구조, 차례대로 들어오고 나감

 

우리는 Stack과 마찬가지로 Push, Pop 동작만으로 데이터 저장/삭제가 가능하며 STL 라이브러리를 사용하여 구현도 할 필요가 없습니다.

현재 데이터의 크기 및 비어있는지 확인도 함수 호출 하나로 확인이 가능합니다.

이 Queue를 사용하여 BFS 알고리즘을 손쉽게 구현할 수 있습니다.


2) c++ STL 사용 예제

예제를 보여드리면 아래와 같습니다.

queue <int> 형으로 변수를 생성했습니다.

우리는 이 변수의 사이즈를 배열처럼 고민할 필요가 없습니다.

데이터를 push/pop를 반복하면서 배열 사이즈를 고민할 필요가 없다는 건 관리에 매우 용이합니다.

push를 하면서 back를 계속 살펴보면 마지막에 입력된 값인걸 확인할 수 있습니다.

그리고 pop를 하면서 front를 호출하면 push 순으로 값이 보입니다.


3) STL Queue 함수

자주 사용하는 함수는 아래와 같습니다.

함수 이름 함수 설명
push(element) element를 마지막에 추가
pop() 맨 앞 element를 삭제
empty() queue가 비어있는지 확인
front() 맨 앞 element를 반환
back() 맨 뒤 element를 반환
size() queue의 사이즈

 

반응형

'알고리즘 > 자료구조' 카테고리의 다른 글

페어(Pair) 란? (STL 사용법)  (0) 2021.03.12
벡터 <vector> 란? (STL 사용법)  (0) 2021.03.09
스택 <stack> 이란? (STL 사용법)  (0) 2021.03.08

댓글