Stack

민지킴·2021년 3월 9일

Stack의 특징
1. 먼저 들어간 자료가 나중에 나옴 LIFO(Last In First Out) 구조

2. 시스템 해킹에서 버퍼오버플로우 취약점을 이용한 공격을 할 때 스택 메모리의 영역에서 함 

3. 인터럽트처리, 수식의 계산, 서브루틴의 복귀 번지 저장 등에 쓰임

4. 그래프의 깊이 우선 탐색(DFS)에서 사용

5. 재귀적(Recursion) 함수를 호출 할 때 사용

Stack<Integer> stack = new Stack<>(); //int형 스택 선언

Generic 으로 원하는 자료형 선언 가능

stack.push(3);     // stack에 값 3 추가

stack.pop();       // stack에 값 제거

stack.clear();     // stack의 전체 값 제거 (초기화)

stack.peek();     // stack의 가장 상단의 값 출력

stack.size();      // stack의 크기 출력 : 2

stack.empty();     // stack이 비어있는제 check (비어있다면 true)

stack.contains(1) // stack에 1이 있는지 check (있다면 true)
profile
하루하루는 성실하게 인생 전체는 되는대로

0개의 댓글