Stack과 Queue란
Stack은 마지막에 저장한 데이터를 가장 먼저 꺼내는 LIFO(Last In First Out)구조로 이루어져 있고,
Queue는 처음에 저장한 데이터를 가장 먼저 꺼내게 되는 FIFO(First In First Out)구조로 이루어져 있다.

Stack과 Queue의 활용
- Stack의 활용 예
- 수식 계산, 수식 괄호 검사, 프로그램의 뒤로 가기/앞으로 가기 등 - Queue의 활용 예
-최근 사용 문서, 인쇄작업 대기 목록, 버퍼(Buffer) 등
Java로 작성한 Stack과 Queue 예제
import java.util.Queue;
import java.util.Stack;
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
//자바에서 스택과 다르게 큐는 인터페이스이기 때문에 LinkedList를 사용하여 구현한다.
Stack<Integer> stack = new Stack<>();
Queue<Integer> queue = new LinkedList<>();
for(int i = 0; i < 10; i++){
//stack은 push, queue는 offer 메서드를 사용하여 값을 집어넣는다.
//0부터 9까지 순서대로 넣음
stack.push(i);
queue.offer(i);
}
//stack은 pop, queue는 poll 메서드를 사용하여 구조에 맞는 데이터를 꺼내면서 값을 출력한다.
for(int i = 0; i < 10; i++)
System.out.print(stack.pop());
System.out.println();
for(int i = 0; i < 10; i++)
System.out.print(queue.poll());
}
}
실행하면 위의 설명과 동일한 결과를 보이는 것을 확인 할 수 있다.
'CS > Data Structure' 카테고리의 다른 글
| 덱(Deque) 이란 (0) | 2023.08.10 |
|---|---|
| 힙(Heap)이란 (0) | 2023.08.07 |
| 해시 테이블(HashTable)이란 (0) | 2023.07.21 |