카테고리 없음

[Java] 스택과 큐 (Stack & Queue)

15호의 개발자 2021. 8. 18. 22:06
반응형

[Java] 스택과 큐 (Stack & Queue)

 

스택(Stack)

LIFO(Last In First Out)구조

맨 마지막에 추가된 요소가 가장 먼저 꺼내지는 자료구조

이미 구현된 클래스가 제공된다.

스택은 밑이 막힌 상자와 같다.

저장은 push, 추출(삭제)은 pop이라 한다.

 

스택은 ArrayList로 구현하는 것이 좋다.

게임에서 무르기, 최근 자료 가져오기 등에 구현한다.

 

 

큐(Queue)

FIFO(First In First Out)구조

제일 먼저 저장된 자료가 먼저 꺼내지는 자료구조

큐는 줄서기와 같다.

저장은 offer, 추출은 poll이라 한다.

들어가는 operation은 enqueue, 나오는 operation은 dequeue라 한다.

 

큐는 LinkedList로 구현하는 것이 좋다.

선착순, 대기열 등을 구현할 때 가장 많이 사용되는 자료구조이다.

 

 

 

Stack의 메서드

boolean empty()

Object peek()

Object pop()

Object push(Object item)

int search(Object o)    인덱스는 1부터 시작한다.

 

Queue의 메서드

boolean add(Object o)

Object remove()

Object element()

boolean offer(Object o)

Object poll()

Object peek()

 

 

 

 

Stack st = new Stack();

Queue q = new Queue(); (X)

Queue q = new LinkedList();    //Queue 인터페이스를 구현한 클래스인 LinkedList를 사용

 

 

 

 

(출처: 유튜브 남궁성의 정석코딩)

반응형