Queue.js 803 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. "use strict";
  2. Object.defineProperty(exports, "t", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _Deque = _interopRequireDefault(require("../SequentialContainer/Deque"));
  7. var _ContainerBase = require("../ContainerBase");
  8. function _interopRequireDefault(e) {
  9. return e && e.t ? e : {
  10. default: e
  11. };
  12. }
  13. class Queue extends _ContainerBase.Base {
  14. constructor(e = []) {
  15. super();
  16. this.q = new _Deque.default(e);
  17. this.o = this.q.size();
  18. }
  19. clear() {
  20. this.q.clear();
  21. this.o = 0;
  22. }
  23. push(e) {
  24. this.q.pushBack(e);
  25. this.o += 1;
  26. }
  27. pop() {
  28. this.q.popFront();
  29. if (this.o) this.o -= 1;
  30. }
  31. front() {
  32. return this.q.front();
  33. }
  34. }
  35. var _default = Queue;
  36. exports.default = _default;