박서희연구소

[Data Structure] Stack(스택) 본문

○ 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(큐) 와 순서가 반대

Stack 구조

- 기본 조작법 -

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());
    }
}

 

- 끝 -

반응형
Comments