스택
- 후입선출(LIFO, Last In First Out)
- 추상적 자료구조(ADT)
- 배열이 수직으로 쌓여있는 것
- 요소의 추가 및 삭제는 맨 위에서만 차례대로 가능
- ex) 웹 뒤로가기, ctr+z 실행취소 등
- push: 자료를 넣는 것 / pop: 넣어둔 자료를 꺼내는 것
스택 연산
- peek(): 스택의 가장 윗 데이터 반환 / 0(1)
- pop(): 스택의 가장 윗 데이터 삭제 / 0(1)
- push(): 스택의 가장 윗 데이터 자리 위에(top = top+1) 메모리 생성, 데이터 x 추가 / 0(1)
- empty(): 스택이 비어있으면 1, 그렇지 않다면 0 반환 / 0(1)
import java.util.Stack;
public class Solution {
public static void main(String[] args) {
// 스택 생성
Stack<Integer> stack = new Stack<>();
// 스택에 요소 추가
stack.push(10);
stack.push(20);
stack.push(30);
stack.push(40);
// 스택 가장 위에 있는 요소 출력
System.out.println("peek: " + stack.peek());
// 스택 출력
System.out.println("stack1: " + stack);
// 스택 가장 위에 있는 요소 삭제
System.out.println("pop: " + stack.pop());
// 스택 가장 위에 있는 요소 삭제 후 스택 재출력
System.out.println("stack2: " + stack);
}
}
'zb_backend19' 카테고리의 다른 글
자료구조 1 Page 노트 정리_Hash Map 해시맵 (0) | 2023.11.17 |
---|---|
자료구조 1 Page 노트 정리_Linked List 연결 리스트 (0) | 2023.11.16 |
자료구조 1 Page 노트 정리_Array 배열 (0) | 2023.11.16 |
자료구조 1 Page 노트 정리_queue 큐 (0) | 2023.11.16 |
프론트엔드와 백엔드 차이 - 백엔드 개발자가 되고 싶은 이유 (0) | 2023.11.10 |