Stack

박정근·2023년 3월 14일
0

Stack이란?

Stack의 가장 큰 특징은 나중에 들어간 것이 먼저 나오는 (Last In First Out)의 형태를 띈다는 것입니다. 이 방식을 가진 자료구조인 Stack을 활용하여 다양한 문제를 해결할 수 있습니다. 자바에서 Stack은 java.util.Stack을 import하면 바로 사용할 수 있습니다.

Stack의 특징

  1. 먼저 들어간 자료가 나중에 나옴 LIFO(Last In First Out) 구조
  2. 시스템 해킹에서 버퍼오버플로우 취약점을 이용한 공격을 할 때 스택 메모리의 영역에서 함
  3. 인터럽트처리, 수식의 계산, 서브루틴의 복귀 번지 저장 등에 쓰임
  4. 그래프의 깊이 우선 탐색(DFS)에서 사용
  5. 재귀적(Recursion) 함수를 호출 할 때 사용

Stack의 주요 메소드

import java.util.Stack;
class Main {

    public static void main(String[] args) {
        //stack 선언
        Stack<Integer> numbers = new Stack<>(); //int형 스택 선언 

        // stack 추가
        numbers.push(1); // 값 1추가
        
        // 첫번째로 최상단값 출력
        numbers.peek();

        // stack 삭제
		numbers.pop();
        
        //stack 크기출력
        numbers.size();
 
		//stack 초기화
        numbers.clear();
        
        //stack 값유무 확인
        numbers.empty();
    }
}
profile
개발하는고라니

0개의 댓글