일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- Java
- 스프링
- react
- 테스트 커버리지
- JPA
- spring boot
- ES6
- 어노테이션
- C++
- 리액트
- Machine Learning
- spring
- 자료구조
- 하이브리드앱
- 스프링 부트
- kotlin
- log4j2
- jQuery
- Test Coverage
- data structure
- Deep Learning
- annotation
- 구버전
- 자바스크립트
- transformer
- cache
- AWS
- 제이쿼리
- javascript
- bean
Archives
- Today
- Total
박서희연구소
[Data Structure] Stack(스택) 본문
반응형
1. Stack 구조
Stack 은 작업이 수행되는 특정 순서를 따르는 선형의 구조로, 한 쪽 끝에서만 자료를 넣거나 뺄 수 있으며, 가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 데이터 구조임
LIFO(Last In, First Out) 또는 FILO(First In, Last Out) 데이터 관리 방식으로 Queue(큐) 와 순서가 반대
- 기본 조작법 -
Push : 데이터를 스택에 넣는 기능
Pop : 데이터를 스택에서 꺼내는 기능
2. Java 에서의 Stack
java.util 패키지에서 Stack 클래스 제공
item 을 추가하는 기능으로 push() 메서드 제공
마지막으로 삽입한 item 을 return 하고, 해당 item 을 삭제하는 pop() 메서드 제공
3. Example
public class Stack<T> {
private final ArrayList<T> stack = new ArrayList<T>();
public void push(T item) {
stack.add(item);
}
public T pop() {
if (stack.isEmpty()) {
return null;
} else {
return stack.remove(stack.size() - 1);
}
}
public static void main(String[] args) {
Stack<Integer> stack = new Stack<Integer>();
stack.push(1);
stack.push(2);
stack.push(3);
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
}
}
- 끝 -
반응형
'○ Programming [Basic] > Data Structure' 카테고리의 다른 글
[Data Structure] Hash(해쉬) (0) | 2023.05.17 |
---|---|
[Data Structure] Linked List(연결 리스트) (0) | 2022.09.27 |
[Data Structure] Queue(큐) (0) | 2022.08.21 |
[Data Structure] Array(배열) (0) | 2022.08.12 |
Comments