박서희연구소

[Data Structure] Queue(큐) 본문

○ Programming [Basic]/Data Structure

[Data Structure] Queue(큐)

SEOHUI PARK 2022. 8. 21. 01:34
반응형

1. Queue 구조

Queue 는 작업이 수행되는 특정 순서를 따르는 선형의 구조로, 줄을 서는 행위와 유사함
양쪽의 끝이 열려 있으며, 한쪽의 끝은 데이터를 삽입하고, 다른 한쪽 끝은 데이터를 제거하는 데에 사용함
가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조
FIFO(First-In, First-Out), LILO(Last-In, Last-Out) 방식으로 Stack(스택) 과는 순서가 반대

 

- 기본 조작법 -

Enqueue : 큐에 데이터를 넣는 기능

Dequeue: 큐에서 데이터를 꺼내는 기능

Queue 구조

2. Java 에서의 Queue

java.util 패키지에서 Queue 인터페이스를 제공함

Queue 데이터를 생성하기 위해서는 LinkedList 클래스를 사용해야 함

Enqueue 에 해당하는 기능으로 add() 메서드제공

Dequeue 에 해당하는 기능으로 remove() 메서드 제공

3. Example

public class Queue<T> {
    private final ArrayList<T> queue = new ArrayList<T>();

    public void enqueue(T item) {
        queue.add(item);
    }

    public T dequeue() {
        if (queue.isEmpty()) {
            return null;
        } else {
            return queue.remove(0);
        }
    }

    public static void main(String[] args) {
        Queue<Integer> queue = new Queue<Integer>();

        queue.enqueue(1);
        queue.enqueue(2);
        queue.enqueue(3);
        queue.enqueue(4);
        System.out.println(queue.dequeue());
        System.out.println(queue.dequeue());
        System.out.println(queue.dequeue());
        System.out.println(queue.dequeue());
    }
}

 

- 끝 -

반응형
Comments