[자료구조] 스택과 큐

SOL·2023년 7월 15일
0

알고리즘

목록 보기
22/31

스택과 큐는 원소들을 특정한 순서대로 삽입하고 제거할 수 있는 자료구조로 다음 연산들을 제공합니다.

  • 원소 삽입
  • 원소 제거
  • 자료 구조가 비어있는지 검사

스택

스택은 LIFO(Last In First Out:후입선출)로 나중에 넣은것이 먼저 나오는 자료 구조입니다.

자바에서는 내장 제네릭 클래스로 스택을 지원합니다.

import java.util.Stack;

Stack<Integer> stack = new Stack();

//원소 추가
stack.add(1);
stack.add(2);
stack.add(3);

//원소 삭제
stack.pop(); //3 반환하고 스택에서 삭제한다.

//제일 위에있는 원소 확인
stack.peek(); //2

//스택 비어있는지 확인
stack.isEmpty(); //false


큐는 FIFO(First In First Out:선입선출)로 먼저 삽입한 원소가 먼저 나오는 자료 구조입니다. 긴 빨대를 연상하면 쉽습니다. 양쪽이 뚫려있어 위에서 넣은 원소는 밑으로 먼저 빠져나갑니다.

자바에서는 큐가 인터페이스로 작성되어있기 때문에 인터페이스 Queue를 구현하는 클래스를 사용해야 합니다. 가장 많이 활용되는 클래스는 LinkedList입니다.

Queue<Integer> queue = new LinkedList<>();

//원소 삽입
queue.add(1);
queue.add(2);
queue.add(3);

//원소 삭제
queue.poll(); //1
queue.poll(); //2

//큐 비어있는지 확인
queue.isEmpty(); //false

//원소 확인
queue.peek(); //3

profile
개발 개념 정리

0개의 댓글

관련 채용 정보