코드스테이츠 프론트엔드 부트캠프 s4u1-1

amberjackman·2023년 7월 7일
0

STACK, 후입선출

stack.push(데이터)
| 4 | <- top
| 3 |
| 2 |
| 1 |
들어간 순서대로, 1번이 제일 먼저 들어가고 4번이 마지막으로 들어가게 됩니다.

예2) 스택이 빌 때까지 데이터를 전부 빼냅니다.

stack.pop()
| |
| |
| |
| |
4, 3, 2, 1
제일 마지막에 있는 데이터부터 차례대로 나오게 됩니다.

  1. 새로운 페이지로 접속할 때, 현재 페이지를 Prev Stack에 보관합니다.
  2. 뒤로 가기 버튼을 눌러 이전 페이지로 돌아갈 때는, 현재 페이지를 Next Stack에 보관하고 Prev Stack에 가장 나중에 보관된 페이지를 현재 페이지로 가져옵니다.
  3. 앞으로 가기 버튼을 눌러 앞서 방문한 페이지로 이동을 원할 때는, Next Stack의 가장 마지막으로 보관된 페이지를 가져옵니다.
  4. 마지막으로 현재 페이지를 Prev Stack에 보관합니다.







QUEUE, 선입선출

  1. FIFO (First In First Out)
    먼저 들어간 데이터가 제일 처음에 나오는 선입선출의 구조로 되어 있습니다.

Queue 자료구조는 데이터의 입력, 출력 방향이 다릅니다.
데이터를 입력할 때는 큐의 맨 끝(tail)으로만 입력이 가능하며
데이터를 출력할 때는 큐의 맨 앞(head)으로만 출력이 가능합니다.

즉, 큐는 데이터를 입력하는 곳과 출력하는 곳이 각각 정해져 있으며
이렇게 총 2개의 입출력 방향을 가지고 있습니다.

만약 입출력 방향이 같다면 Queue 자료구조라고 볼 수 없습니다.



  1. 데이터는 하나씩 넣고 뺄 수 있습니다.

Queue 자료구조는 데이터를 넣을 때는
큐의 맨 뒷부분에서 뺄 때는 큐의 맨 앞부분에서 처리를 진행합니다.
각 처리 시마다 한 개의 데이터를 넣거나 뺄 수 있습니다.
여러 번 데이터를 넣어 큐 내부에 데이터가 여러 개 쌓여 있다고 하더라도,
큐의 맨 앞에서 한 번에 한 개의 데이터만을 뺄 수 있습니다.

profile
힘을내자

0개의 댓글