stack.push(데이터)
| 4 | <- top
| 3 |
| 2 |
| 1 |
들어간 순서대로, 1번이 제일 먼저 들어가고 4번이 마지막으로 들어가게 됩니다.
예2) 스택이 빌 때까지 데이터를 전부 빼냅니다.
stack.pop()
| |
| |
| |
| |
4, 3, 2, 1
제일 마지막에 있는 데이터부터 차례대로 나오게 됩니다.
Queue 자료구조는 데이터의 입력, 출력 방향이 다릅니다.
데이터를 입력할 때는 큐의 맨 끝(tail)으로만 입력이 가능하며
데이터를 출력할 때는 큐의 맨 앞(head)으로만 출력이 가능합니다.
즉, 큐는 데이터를 입력하는 곳과 출력하는 곳이 각각 정해져 있으며
이렇게 총 2개의 입출력 방향을 가지고 있습니다.
만약 입출력 방향이 같다면 Queue 자료구조라고 볼 수 없습니다.
Queue 자료구조는 데이터를 넣을 때는
큐의 맨 뒷부분에서 뺄 때는 큐의 맨 앞부분에서 처리를 진행합니다.
각 처리 시마다 한 개의 데이터를 넣거나 뺄 수 있습니다.
여러 번 데이터를 넣어 큐 내부에 데이터가 여러 개 쌓여 있다고 하더라도,
큐의 맨 앞에서 한 번에 한 개의 데이터만을 뺄 수 있습니다.