- 데이터를 선입선출, First In First Out (FIFO) 원칙을 따르는 자료구조
- 바닥이 뚫린 프링글스라 생각하면 되는데, 처음 넣은 과자가 밑바닥으로 빠져 먼저 꺼내 먹게 되는 구조
특징
- FIFO 원칙 : 가장 먼저 넣은 데이터가 가장 먼저 출력된다
- 양방향 접근 : 데이터 추가는 뒤쪽, rear에서 추가되고, 삭제는 앞쪽, front에서 삭제된다
장점과 단점
- 장점 : 데이터 처리 순서를 명확하게 유지할 수 있어, 순차적인 작업에 용이하다
- 단점 : 데이터 접근이 front에서만 가능하여, 중간 데이터에 접근할려면 많은 데이터를 제거해야 한다
예시 코드
class Queue {
constructor() {
this.elements = [];
}
enqueue(item) {
this.elements.push(item);
}
dequeue() {
return this.elements.shift();
}
peek() {
return this.elements[0];
}
}
const queue = new Queue();
queue.enqueue(1);
queue.enqueue(3);
queue.enqueue(5);
console.log(queue.peek());
console.log(queue.dequeue());
console.log(queue.peek());
분류
Circular Queue
Deque