스택 (Stack), 큐 (Queue), 덱 (Deque)

이창형·2022년 6월 26일
0

스택(Stack)

  • 후입선출(LIFO(Last-In-First-Out))
  • 가장 최근에 스택에 삽입된 자료의 위치를 top이라 한다
  • 스택의 stack.pushtop에 새로운 데이터를 저장하고 stack.pop또한 top의 데이터를 삭제하는 것이다
  • top에만 접근이 가능하기 때문에 다른 위치에서의 데이터 접근, 삭제, 삽입은 불가능하다
  • 스택이 비어있을때 pop을 시도하면 stack underflow 스택의 크기가 비어있을 때 스택을 push하면 stack overflow

큐(Queue)

  • 선입선출(FIFO(First-In-First-Out))
  • 스택과 달리 한 쪽에선 삽입만 한 쪽에선 삭제만 수행한다
  • 삽입을 위해서는 요소들을 계속 움직여 줘야한다

덱(Deque)

  • 한 쪽에서만 삽입, 삭제가 가능한 것이 아니라 양쪽 모두 다 삽입이 가능한 큐
  • 중간에 데이터를 삽입될 때 다른 요소들을 앞, 뒤로 밀 수 있다
profile
iOS Developer

0개의 댓글