CS/Data Structure (자료구조)

[자료구조] Queue, Stack

창브로 2025. 3. 12. 21:12

오늘은 여러분들이 자주 들어보셨을 Queue와 Stack에 대해 알아보겠습니다.

 

Queue란?

먼저 들어간 데이터가 먼저 출력되는 선입선출 FIFO(First in First Out)의 구조를 가진 자료구조입니다.

 

Java에선

// Queue 생성
Queue<Integer> queue = new LinkedList<>();

queue.offer(1) // 1 추가
queue.offer(2) // 2 추가

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

 

그림으로 볼까요?

어떤식으로 작동하시는지 아시겠죠?

 

 

Stack이란?

나중에 들어간 데이터가 가장 먼저 나오는 후입선출 LIFO(Last In First Out)의 구조를 가진 자료구조입니다.

 

Java에선

// Stack 생성
Stack<Integer> stack = new Stack<>();

stack.push(1); // 1 추가
stack.push(2); // 2 추가

stack.pop(); // 2 삭제
stack.pop(); // 1 삭제

 

Stack도 그림으로 한 번 보겠습니다.

 

 

Queue와 Stack이 무엇인지 아시겠죠?

기억하고 있다가 상황에 맞게 잘 사용해 보면 좋을 것 같습니다.

 

 

질문과 피드백은 언제나 환영입니다.

감사합니다.