HyeGyeong
HyeGyeong 프로그래머를 꿈꾸며 JavaScript 공부 중

[Data Structure] Queue

[Data Structure] Queue

Queue

1. Queue란?

Queue은 FIFO(first in, first out) 구조이다. 먼저 들어온 요소가 가장 처음으로 나간다.
들어오고 나오는 기능이 한 곳에서 이루어지는 Stack과 달리 Queue는 입구 1개, 출구 1개가 있다.
터널을 통과하는 기차와 같다. 1번 객차가 먼저 들어가면 1번 객차가 가장 먼저 터널을 통과한다.
입력된 순서대로 처리해야하는 상황일 때 이용한다.


(출처: codewars)

2. Queue의 기능

2.1 데이터의 추가

Queue에 데이터를 추가하는 기능을 JavaScript로 구현하면 다음과 같다. 여러가지 방법이 있지만 push를 이용했다.

1
2
3
4
5
6
7
8
var Queue = function() {
  this.queue = [];
};

Queue.prototype.add = function(elem) {
  this.queue.push(elem);
  return this.queue;
};

2.2 데이터의 삭제

처음에 추가된 요소부터 삭제되도록 구현한다. shift를 이용하면 배열 인덱스 0번부터 제거된다.

1
2
3
4
5
// element 삭제
Queue.prototype.remove = function() {
  var removed = this.queue.shift();
  return removed;
};