[자료구조] Stack / Queue

jaejin·2023년 4월 29일

Stack

한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO(Last In FIrst Out) 형식의 자료 구조

LIFO : Last In First Out

스택의 가장 큰 특징은 LIFO이다. 가장 최근에 들어온 데이터가 가장 먼저 나간다.

  • pop() : 스택에서 가장 위에 있는 항목을 제거
  • push(item) : item 하나를 스택의 가장 윗 부분에 추가
  • peek() : 스택의 가장 위에 있는 항목을 반환
  • isEmpty() : 스택이 비어 있을 때에 true를 반환
  • top() : 스택 맨 위에 있는 데이터 값 반환

Queue

가장 먼저 들어온 데이터가 먼저 나가는 FIFO 형식의 자료 구조

FIFO(First In First Out)

가장 먼저 들어온 데이터가 먼저 나가는 방식. 큐는 양쪽이 뚤려있는 구조이기 때문에 한쪽에서는 데이터 삽입만 이루어지고 다른 한쪽은 데이터 추출만 진행된다.

enqueue : 데이터 삽입
deQueue : 데이터 추출
front : 머리 (데이터가 추출되는 위치)
rear : 꼬리 (데이터가 삽입되는 위치)

큐가 비어있다면 front와 rear 값이 -1로 같아야 한다.

front = rear = -1
profile
jjlabsio

0개의 댓글