○ Programming [Basic]/Data Structure
[Data Structure] Stack(스택)
SEOHUI PARK
2022. 8. 22. 23:25
반응형
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());
}
}
- 끝 -
반응형