스택과 큐가 데이터를 저장하는 방법은 배열과 같다.
스택은 리스트의 끝에서만 데이터가 들어오고 나가는 자료구조이다.
Javascript에서는 Array에 push와 pop을 이용하여 구현할 수 있다.
스택은 마지막 리스트에서 자료를 넣거나 뺼 수 있는 선형 구조(Last in First Out)으로 되어있다.
스택이 비었으면 1을 반환하고, 그렇지 않다면 0을 반환한다.
class Stack { constructor() { this.arr = []; } push(x) { this.arr.push(x); } pop() { return this.arr.pop(); } empty() { if(arr.length == 0) { return 1; } else { return 0; } } } const stack = new Stack(); stack.push(1); stack.push(2); stack.push(3); console.log(stack.pop()); //3 console.log('stack', stack); //[1, 2]
class Queue { constructor (){ this.arr = []; } enqueue(item){ this.arr.push(item); } dequeue(){ return this.arr.shift(); } } const queue = new Queue(); queue.enqueue(1); queue.enqueue(2); queue.enqueue(3); queue.dequeue(); // 1 console.log(queue.arr) // [2,3]
출처 : http://paullab.co.kr