728x90

알고리즘을 공부하기 앞서 가장 많이 사용하는 자료구조 Stack과 Queue에 대해서 정리하겠다.


Stack

 -Stack은 LIFO(Last In First Out)으로 '마지막 입력값이 먼저 나온다'라는 뜻으로 스택의 특징이다.

그림으로 표현한 스택

Queue

 - Queue는 FIFO(First In First Out)으로 '먼저 들어간 값이 먼저 나온다'라는 뜻으로 큐의 특징이다.

그림으로 표현한 큐

Java에서 Stack과 Queue 기본적인 사용법

public static void main(String[] args) {
        //스택
        Stack<Integer> stack = new Stack<>(); // LIFO

        stack.push(1);
        stack.push(2);
        stack.push(3);
        
        while(!stack.isEmpty()) System.out.println(stack.pop());
        
        System.out.println("ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ");
        
        //큐
        Queue<Integer> queue = new LinkedList<>(); // FIFO

        queue.offer(1);
        queue.offer(2);
        queue.offer(3);

        while(!queue.isEmpty()) System.out.println(queue.poll());
}

메인 메소드 실행 결과

"ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ" 기준으로 위쪽이 스택 출력 순서 이며, 아래쪽이 큐 출력순서이다.

728x90
TOP