티스토리 뷰
728x90
반응형
SMALL
스택(Stack)은 컴퓨터 과학에서 중요한 자료 구조 중 하나이다. 스택은 항목들이 추가되고 삭제되는 끝이 한 개만 있는 '한정적 접근'의 선형 자료 구조이다. 이러한 특성 때문에 스택은 '후입선출'(LIFO, Last-In-First-Out) 원칙을 따르는 것으로 알려져 있다. 즉, 가장 최근에 스택에 추가된 항목이 가장 먼저 제거되는 순서를 따른다.
스택에서는 주로 다음 네 가지 기본 연산이 사용된다.
- Push: 스택의 상단에 항목을 추가한다.
- Pop: 스택의 상단에 있는 항목을 제거하고 반환한다. 이 연산을 수행하면, 스택에서 항목이 제거된다.
- Peek/Top: 스택의 상단에 있는 항목을 반환하지만 제거하지는 않는다.
- isEmpty: 스택이 비어 있는지 확인한다.
스택은 다양한 애플리케이션에서 사용된다. 함수 호출 스택, 실행 취소 스택, 브라우저의 이전 페이지/다음 페이지 구현 등 여러 분야에서 스택의 개념이 활용된다. 또한, 스택은 다른 복잡한 알고리즘, 예를 들어 깊이 우선 탐색(DFS)에서도 중요한 역할을 한다.
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);
stack.push(3);
System.out.println("Stack: " + stack);
int removedElement = stack.pop();
System.out.println("Popped element: " + removedElement);
System.out.println("Stack after pop operation: " + stack);
int peekedElement = stack.peek();
System.out.println("Peeked element: " + peekedElement);
System.out.println("Stack after peek operation: " + stack);
boolean isEmpty = stack.isEmpty();
System.out.println("Is stack empty? " + isEmpty);
}
}
Integer 타입의 Stack 객체를 생성하고, push 메소드를 사용하여 스택에 원소를 추가하고, pop 메소드를 사용하여 가장 위의 원소를 제거하고, peek 메소드를 사용하여 가장 위의 원소를 확인하며, isEmpty 메소드를 사용하여 스택이 비어 있는지 확인한다.
728x90
반응형
LIST
'CS > 알고리즘' 카테고리의 다른 글
동적 계산법 (0) | 2023.06.07 |
---|---|
큐(Queue) (0) | 2023.06.07 |
이진 검색 트리(Binary Search Tree, BST) (0) | 2023.05.30 |
해싱(Hashing) (0) | 2023.05.30 |
이진 검색(Binary Search) (0) | 2023.05.30 |
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- HTML
- ajax
- 팬방명록만들기
- 웹개발3주차
- 항해99
- 현재기온넣기
- aihtnyc_h
- 사전스터디
- 현재기온
- python
- 웹개발
- 12기
- 항해
- 웹개발종합반
- 지니차트만들기
- (여자)아이들
- 스파르타코딩
- 아이들팬명록
- visualstudiocode
- Til
- 유형검사
- 공부하기
- 4주차
- 아이들팬명록만들기
- 12기 1주차 숙제
- PyCharm
- 초보개발자
- 보험
- 스파르타
- 2주차
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함