스택 & 큐

momomoki·2023년 11월 15일
0

스택(stack)

후입선출(LIFO,Last-In-First-Out)방식을 따르는 자료구조로, 마지막에 저장된 데이터가 가장 먼저 꺼내지는 형태

스택의 메서드

  • push -> 스택 안의 맨 마지막에 데이터를 삽입한다.
  • pop() -> 스택 안의 맨 마지막 데이터를 삭제한다. 그리고 스택이 비어있다면 예외가 발생한다.
  • peek() -> 스택의 맨 마지막 데이터를 반환한다.

예제코드를 보자

위 코드처럼 1,2,3,4가 순차적으로 스택에 쌓이고 pop을 한순간 마지막에 있는 4가 삭제된다. 이렇듯 스택은 마지막에 들어온 값을 활용한다.

선입선출(FIFO,first-in-first-out) 방식을 따르는 자료구조로 먼저 저장된 데이터가 먼저 꺼내지는 형태입니다.

큐의 메서드

  • offer() -> 큐의 맨 뒤에 지정된 값을 추가한다. 큐가 가득 차서 데이터를 추가 할 수 없다면 false를 반환한다.
  • add() -> 큐의 맨 뒤에 지정된 값을 추가하며, 큐가 가득 차서 데이터를 추가 할 수 없다면 IllegalStateException 예외를 발생한다.
  • poll() -> 큐의 맨 앞에서 데이터를 제거하고 반환한다. 큐가 비어 있다면 null을 반환한다.
  • clear() -> 큐에 들어있는 모든 값을 제거한다.

예제코드


offer를 통해 큐에 데이터를 추가하고 poll을 통해 맨앞의 데이터를 삭제를 했고 그래서 1,2,3,4,5 => 2,3,4,5가 되었고 peek을 사용하여 큐의 맨 첫번째 데이터를 가져왔고 clear를 통해 큐를 비웠으며 다시 peek을 선언했는데 큐가 비어있어서 null을 반환했습니다.

profile
얍얍엽엽욥욥

0개의 댓글