Developing Myself Everyday
article thumbnail

Queue


먼저 들어간 자료가 먼저 나오는 자료구조이다. FIFO(First In First Out, 선입선출) 또는 LILO(Last In Last Out, 후입후출) 라는 구조를 갖는다.

Method Description
add(E e) Queue에 객체를 추가한다. Queue의 남아 있는 space가 없을 경우 exception을 throw한다.
element() Queue에 가장 먼저 들어간 객체를 return한다.
offer(E e) Queue에 객체를 추가한다. 이때는 exception을 발생시키지 않고 성공 여부에 대해 return한다.
peek() Queue에 가장 먼저 들어간 객체를 제거하지 않고 확인한다.
poll() Queue에 가장 먼저 들어간 객체를 제거하고 해당 객체를 return한다. 이때 queue가 비어 있다면 null을 return한다.
remove() Queue에 가장 먼저 들어간 객체를 제거하고 해당 객체를 return한다. 이때 queue가 비어있다면 exception을 throw한다.

 

 

 

Stack


먼저 들어간 자료가 나중에 나오는 자료구조이다.

 

Method Description
empty() Stack이 비어있다면 true, 아니면 false를 반환한다.
peek() Stack에서 제거하지 않고 스택의 최상단(맨 위)에 있는 객체를 확인한다.
pop() Stack의 최상단에 있는 객체를 제거하고 해당 객체를 return한다.
push(E item) Stack에 최상단 항목으로 삽입한다.
serach(Object o) Object를 Stack에서 찾는 method로 최상단 객체를 1로 하여(1-based-position) 위치(position)를 찾아주며, 객체가 없다면 -1을 return한다.

 

Deque


양쪽 끝에서 삽입과 삭제가 모두 가능한 자료 구조의 한 형태이다. Deque은 Stack처럼 쓰일 수도 있고, Queue처럼 쓰일 수도 있으며, Stack과 Queue의 기능을 합친 것처럼 사용할 수도 있다. 

'개발자의 기본 소양 > DATA STRUCTURE' 카테고리의 다른 글

PriorityQueue & Heap  (0) 2023.02.23
ArrayList & LinkedList  (0) 2023.02.22
List, Set, Map to Kotlin  (0) 2022.12.04
자료구조의 분류  (0) 2022.12.04
profile

Developing Myself Everyday

@배준형

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!