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