728x90

큐, 스택, 덱은 일렬로 늘어선 같은 형태의 자료들을 저장하는 자료구조이다. 

세 자료구조의 차이점은 어느 끝쪽에서 자료를 넣고 뺄 수 있는가이다.

 

큐(queue)

큐는 한쪽 끝에서 자료를 넣고 반대 쪽 끝에서 자료를 꺼낸다. 보통 선입선출(First in First out)이라고 한다.

함수로는 q.push_back()을 통해 제일 뒤쪽에 자료를 넣고, q.pop()을 통해 제일 앞에 있는 자료를 꺼낸다.

 

스택(stack)

스택은 한쪽 끝에서만 자료를 넣고 뺄 수 있다. 가장 늦게 들어간 자료를 먼저 꺼내는데 후입선출(Last in First out)이라고 한다. st.push()를 통해 자료를 넣고 st.pop()을 통해 꺼낸다.

 

덱(deque)

덱은 양쪽 끝에서 자료를 넣고 뺄 수 있다. dq.push_front(), dq.push_back(), dq.pop_front(), dq.pop_back()을 통해 자료들을 넣고 뺀다.

728x90

'알고리즘 > 기본 알고리즘' 카테고리의 다른 글

힙(Heap)  (0) 2020.02.12
KMP 알고리즘  (0) 2020.02.04
링크드 리스트  (0) 2020.02.02
비트 마스크  (0) 2020.02.01
유클리드 호제법  (0) 2020.01.30

+ Recent posts