Стек и очередь

by Artem

JavaScript

'use strict';

class Stack {
  constructor(arr) {
    this._data = arr;
  }
  push(num) {
    this._data.push(num);
    return this._data;
  }
  pop() {
    return this._data.pop();
  }
  clear() {
    this._data.length = 0;
    return 'Stack has been cleared';
  }
}

class Queue {
  constructor(arr) {
    this._data = arr;
  }
  offer(num) {
    this._data.unshift(num);
    return this._data;
  }
  poll() {
    this._data.shift();
    return this._data;
  }
  clear() {
    this._data.length = 0;
    return 'Queue has been cleared';
  }
}

let stack = new Stack([1, 2, 3, 4]);
console.log(stack.clear());

let queue = new Queue([1, 2, 3, 4]);
console.log(queue.poll());