데이터를 순서대로 쌓는 자료구조
가장 먼저 들어간 데이터가 가장 나중에 나올 수 있음.
LIFO(Last In First Out)
예시)브라우저 에서 계속해서 클릭하여 page에 들어가면 이전에 봤던 page 들이 stack으로 쌓인다.그래서 뒤로가기 했을 때 이전page로 갈 수 있지만 바로 전전 page나 전전전 page로 돌아가지 못함.
class Stack {
constructor() {
this.arr = [];
this.index = 0;
}
push(item) {
this.arr[this.index++] = item;
}
pop() {
if (this.index <= 0) return null;
const result = this.arr[--this.index];
return result;
}
}
먼저 들어간 데이터가 먼저 나오는 자료구조
FIFO(First In First Out)
예시)프린터는 출력할 때 문서가 인쇄작업을 하는데 그전에 임시 기억장치에 들어가고 그 기억장치에 들어온 문서 순서대로 인쇄를 한다.
buffer: 각 장치 사이에 데이터를 주고 받을 때 각 장치 사이에 존재하는 속도의 차이
class Queue {
constructor() {
this._arr = [];
}
enqueue(item) {
this._arr.push(item);
}
dequeue() {
return this._arr.shift();
}
}