1. Stack

데이터를 순서대로 쌓는 자료구조를 의미한다. 단 방향으로만 자료 입력과 제거가 가능해 LIFO(Last In Frist Out,후입선출)
or FILO(First In Last Out)
라 부르기도 한다.
(이는 먼저 들어온 데이터가 나가는 Queue와 차이점이다.)
1-1. 스택의 연산
- pop() : 스택에서 가장 위에 있는 항목 제거
- push() : 스택의 가장 위에 항목 추가
- peek() : 스택의 가장 위에 있는 항목 반환
- isEmpty() : 스택이 빈 경우 true 반환
1-2. Stack의 특징
- 먼저 들어간 데이터는 마지막에 나오는 LIFO(후입선출) 구조이다.
- 데이터는 하나씩 삽입/삭제 가능하다.
- 데이터가 많아도 삽입 / 삭제는 하나씩만 가능하다.
- 하나의 입출력 방향을 가지고 있다.
- 데이터의 입/출력 방향이 갖다는 특징이 있다.
Stack 구현해보기
2. Queue

대기 행렬
이라는 뜻을 가진 자료 구조로 양방향 입출력 특징을 갖으며, 이를 FIFO(First In First Out, 선입선출)
라 한다.
2-1. Queue 연산
- add(element) : element를 요소 마지막에 추가
- remove() : 리스트의 첫 항목 제거
- peek() : 큐의 가장 위 항목 반환
- isEmpty() : 큐가 비어있을때 ture 반환한다.
- poll() : 큐 맨 앞에 있는 값 반환 후 삭제(빈 경우 null 반환)
- clear() : 큐 비우기
(데이터 추가/삭제/검색에 제공되는 메서드는 문제상황에서 에러를 발생하느냐, null/boolean value를 반환하는지 구분된다.)
참고
https://gmlwjd9405.github.io/2018/08/02/data-structure-queue.html
https://roi-data.com/entry/자료구조-4-스택Stack이란-연산-구현방법
https://cocoon1787.tistory.com/774