티스토리 뷰

개념/자료구조

[JAVA] 스택(Stack)

hs_seo 2016. 6. 10. 15:12

스택은 자료구조에서 LIFO(Last In First Out) 구조를 가지는 자료구조이다.

구현하는 방식에 따라 종류가 많이 있다.


자바의 util 에 기본적으로 스택을 제공해주기 때문에 따로 구현하지 않고 이 클래스를 사용하면 된다.



import java.util.Stack;

public class StackExample {

    public static void main(String[] args) {
        Stack<Integer> stack = new Stack<>();
       
        // 데이터 입력
        stack.push(5);
        stack.push(4);
        stack.push(3);
        stack.push(2);
        stack.push(1);
       
        // 데이터 출력
        System.out.println("마지막에 넣은 데이터부터 출력..");
        System.out.println(stack.pop());
        System.out.println(stack.pop());
        System.out.println(stack.pop());
        System.out.println(stack.pop());
        System.out.println(stack.pop());
       
        // 에러 발생
        //System.out.println(stack.pop());
       
        System.out.println("---------------");
       
        // 데이터 입력
        stack.push(5);
        stack.push(4);
        stack.push(3);
       
        System.out.println(stack.size());    // 사이즈 확인
        System.out.println(stack.peek());    // 데이터를 빼지 않고 현재 가장 위에 위치하는 데이터 확인
        System.out.println(stack.size());    // 사이즈 확인
       
    }
}



<결과>

1
2
3
4
5
---------------
3
3
3


반응형

'개념 > 자료구조' 카테고리의 다른 글

[Java] 큐(Queue)  (0) 2016.06.10
[자료구조] 힙과 힙소트  (0) 2015.06.08
[자료구조] 배열과 링크드 리스트  (0) 2015.06.04
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/03   »
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
글 보관함