후입선출(LIFO : Last-In First-Out)
가장 마지막(최근)에 넣은 데이터를 가장 먼저 빼는 형식으로, 데이터를 쌓아올린 형태의 자료구조
특징
1. 단방향 입출력 구조
: 데이터가 들어오고 나가는 방향이 같음
2. 깊이 우선 탐색(DFS)에 사용
주요 메서드
- push()
스택에 새로운 원소를 삽입 - pop()
top에 위치한 데이터를 읽고 top 데이터를 삭제 - peek()
top에 있는 데이터를 리턴 - isEmpty()
스택이 비어있는지를 boolean 형태로 리턴하는 메서드
Java 스택 구현
import java.util.Stack;
public class Main {
public static void main(String[] args) {
// Integer형 스택 선언
Stack<Integer> stack = new Stack<>();
// bottom 1 2 3 top
stack.push(1);
stack.push(2);
stack.push(3);
// [1, 2, 3]
System.out.println(stack);
// top 데이터인 3 삭제
System.out.println(stack.pop());
// [1, 2]
System.out.println(stack);
// 모두 삭제
stack.clear();
}
}
배열(Array) vs 연결 리스트(Linked List)
다음에 알아보자 ,,
'CS > 자료구조&알고리즘' 카테고리의 다른 글
[자료구조] 큐(Queue)란? (0) | 2024.05.15 |
---|