Queue는 알고리즘중 하나로 FIFO성질을 가진 알고리즘 입니다.
쉽게말해 먼저 들어간 값이 먼저 나온다고 생각하면 됩니다.
커피를 좋아하니 카페로 비유를 하겠습니다(커피 먹고싶다..) 스타벅스 매장에 커피를 사기위해 손님들이 길게 줄 서있습니다. 이 때 맨 앞에 먼저 주문한 사람이 커피를 받고 줄을 벗어나야 다음 사람이 커피를 받을수 있는 구조가 바로 Queue라고 할수 있습니다.
class Queue {
constructor() {
this.line = [];
}
// 손님을 한사람씩 받는다
enqueue(customer) {
this.line.push(customer);
}
//커피를 받은 맨 앞 손님은 줄에서 벗어나게 된다
dequeue() {
return this.line.shift();
}
}
let caffe_Line = new Queue();
caffe_Line.enqueue(1)
caffe_Line.enqueue(2)
caffe_Line.enqueue(3)
console.log(caffe_Line.line) //[1,2,3]
caffe_Line.dequeue() //1
caffe_Line.dequeue() //2
caffe_Line.dequeue() //3
console.log(caffe_Line.line) //[]