STACK
- LIFO(Last In First Out)의 후입선출 구조

  • push() : 스택에 데이터를 넣는다.
  • pop() : 스택에서 데이터를 빼낸다.
  • isEmpty() : 스택이 비어있는지 확인한다.
  • isFull() : 스택이 꽉 차 있는지 확인한다.
  • top() : 스택 맨 위에 있는 데이터 값 반환

- 예) 시스템 스택 : 함수의 호출과 복귀 순서는 스택의 구조를 응용하여 관리
- 역순 문자열 만들기, 수식의 괄호 검사, 수식의 후위 표기법 변환


QUEUE
- FIFO(First In First Out)의 선입선출 구조

  • enQueue() : 큐에 데이터를 넣는다.
  • deQueue() : 큐에서 데이터를 빼낸다.
  • isEmpty() : 큐가 비어있는지 확인한다.
  • isFull() : 큐가 꽉 차 있는지 확인한다.
  • peek() : 앞에있는 원소를 삭제하지 않고 반환한다.

- 예) 우선순위가 같은 작업 예약(인쇄 대기열), 선입선출이 필요한 대기열(티켓 카운터)
* Linear Queue(선형큐)는 메모리 재사용이 불가능 이러한 문제점을 보완하여 Circular Queue(원형 큐)가 나옴