[javascript] 큐 (Queue) 데이터 구조

이번 글에서는 자바스크립트에서의 큐 (Queue) 데이터 구조에 대해 알아보겠습니다. 큐는 스택과 마찬가지로 데이터를 저장하는 추상적인 자료 구조입니다. 그러나 큐는 FIFO (선입선출) 방식으로 동작합니다. 즉, 가장 먼저 저장된 데이터가 가장 먼저 제거됩니다.

큐의 기본 동작

큐는 일반적으로 다음과 같은 동작을 지원합니다.

배열을 사용한 큐 구현

자바스크립트에서는 배열을 사용하여 간단하게 큐를 구현할 수 있습니다.

class Queue {
  constructor() {
    this.items = [];
  }

  enqueue(element) {
    this.items.push(element);
  }

  dequeue() {
    return this.items.shift();
  }

  peek() {
    return this.items[0];
  }

  isEmpty() {
    return this.items.length === 0;
  }
}

큐 활용 예제

아래는 큐의 간단한 활용 예제입니다.

const queue = new Queue();
queue.enqueue(10);
queue.enqueue(20);
queue.enqueue(30);

console.log(queue.peek()); // 10
console.log(queue.dequeue()); // 10
console.log(queue.isEmpty()); // false

이렇게 큐를 활용하면 데이터를 일시적으로 저장하고 순서대로 처리해야 하는 상황에 유용하게 활용할 수 있습니다.

결론

이번 글에서는 자바스크립트에서의 큐 (Queue) 데이터 구조에 대해 알아보았습니다. 큐는 FIFO 방식으로 동작하며, 배열을 사용하여 간단하게 구현할 수 있습니다. 데이터를 순서대로 처리해야 하는 상황에서 큐를 유용하게 활용할 수 있습니다.