728x90
반응형
Stack
- 데이터를 입시 저장하기 위한 선형 자료구조
- 후입후출 'LIFO' (Last in First Out)
- 마지막에 들어온 요소가 가장 먼저 나감
Stack의 기본 연산
- Push: 스택의 맨 위에 새로운 요소 추가
- Pop: 스택의 맨 위 요소를 제거
- Peek: 스택의 최상위 요소를 조회함
- IsEmpty: 스택이 비어있는지 확인
import java.util.Stack;
public class StackExample {
public static void main(String[] args) {
// 스택 생성
Stack<Integer> stack = new Stack<>();
// Push 연산 예시
stack.push(1); // 스택에 1 추가
stack.push(2); // 스택에 2 추가
stack.push(3); // 스택에 3 추가
// Peek 연산 예시
System.out.println("Peek: " + stack.peek()); // 스택의 맨 위 요소 확인: 3
// Pop 연산 예시
System.out.println("Pop: " + stack.pop()); // 스택에서 요소 제거 및 반환: 3
System.out.println("Pop: " + stack.pop()); // 스택에서 요소 제거 및 반환: 2
// IsEmpty 연산 예시
System.out.println("Is stack empty? " + stack.isEmpty()); // 스택이 비어 있는지 확인: false
// 스택에 남아 있는 요소 모두 Pop
while (!stack.isEmpty()) {
System.out.println("Pop: " + stack.pop()); // 남아 있는 요소 제거 및 반환
}
// 모든 요소를 Pop 한 후 IsEmpty 확인
System.out.println("Is stack empty? " + stack.isEmpty()); // 스택이 비어 있는지 확인: true
}
}
728x90
반응형
'이론 > 자료구조와 실습' 카테고리의 다른 글
Sort) Bubble Sort, Selection Sort, Insertion Sort (0) | 2024.09.29 |
---|---|
DP) Dynamic Programming (0) | 2024.01.09 |
Queue) Priority Queue (1) | 2024.01.03 |
Queue) Circular Queue (0) | 2024.01.03 |
Queue) Queue란? (0) | 2024.01.03 |