본문 바로가기

이론/자료구조와 실습

Stack) Stack

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