STACK이란?
가장 뒤에 들어온 것이 가장 먼저 나가는 구조라는 뜻으로 LIFO(후입선출)의 별칭을 가진다.
맨 위의 원소만 접근 가능한 것이 특징이며, 선형 자료구조이다.
(ex) 키보드 입력을 하다가 백스페이스 키를 누르면 최근에 입력한 글자를 지운다.
STACK의 연산
push(item) : 맨 위에 원소 삽입
pop() : 맨 위의 원소 삭제
peek() / top() : 맨 위 원소 반환 (삭제 X)
clear() : 원소 모두 삭제
empty() : 스택이 비었으면 true, 아닐 경우 false
full() :가득 차있으면 true, 아닐 경우 false
size() : 스택의 크기(원소의 개수) 반환
search(item): 해당 원소를 찾아서 빠져나오는 순서 반환
구현 방법
java.util.stack 을 import 해서 사용
import java.util.Stack;
public class stack_study {
public static void main(String[] args) {
Stack<Integer> stackInt=new Stack<>();
stackInt.push(1); //1 삽입
stackInt.push(2); //2 삽입
stackInt.push(3); //3 삽입
stackInt.push(4); //4 삽입
stackInt.pop(); //4 제거
stackInt.pop(); //3 제거
System.out.println(stackInt);
System.out.println(stackInt.peek());
System.out.println(stackInt.empty());
System.out.println(stackInt.search(1));
System.out.println(stackInt.size());
}
}

'Algorithm' 카테고리의 다른 글
| [알고리즘] 힙(heap) 자료구조 (1) | 2025.01.15 |
|---|---|
| [알고리즘] 분할정복 알고리즘 (2) | 2025.01.13 |
| [알고리즘] 이진탐색 알고리즘 (1) | 2025.01.06 |
| 하노이탑 알고리즘 이해하기 (재귀함수 사용) (1) | 2025.01.01 |
| [알고리즘] 브루트포스 알고리즘 (4) | 2024.12.28 |