@raikuxq/alg-ds 1.2.0 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +5 -11
  2. package/lib/app/algorithms/graph/iterator/AbstractGraphIterator.d.ts +4 -0
  3. package/lib/app/algorithms/graph/iterator/AbstractGraphIterator.js +5 -1
  4. package/lib/app/algorithms/graph/searching/hasPath.d.ts +3 -3
  5. package/lib/app/algorithms/graph/searching/hasPath.js +3 -3
  6. package/lib/app/algorithms/graph/searching/shortestPath.d.ts +3 -3
  7. package/lib/app/algorithms/graph/searching/shortestPath.js +3 -3
  8. package/lib/app/algorithms/graph/transposing/transposeDirectedGraph.js +1 -1
  9. package/lib/app/algorithms/transpose-matrix.d.ts +1 -0
  10. package/lib/app/algorithms/transpose-matrix.js +2 -1
  11. package/lib/app/data-structures/BinaryTree/AbstractBinaryTree/AbstractBinaryTree.d.ts +1 -1
  12. package/lib/app/data-structures/BinaryTree/AbstractBinaryTree/AbstractBinaryTree.js +1 -2
  13. package/lib/app/data-structures/BinaryTree/BinarySearchTree/BinarySearchTree.d.ts +6 -1
  14. package/lib/app/data-structures/BinaryTree/BinarySearchTree/BinarySearchTree.js +10 -5
  15. package/lib/app/data-structures/BinaryTree/RandBinarySearchTree/RandBinarySearchTree.d.ts +1 -0
  16. package/lib/app/data-structures/BinaryTree/RandBinarySearchTree/RandBinarySearchTree.js +2 -1
  17. package/lib/app/data-structures/Graph/AbstractGraph.d.ts +3 -3
  18. package/lib/app/data-structures/Graph/AbstractGraph.js +3 -3
  19. package/lib/app/data-structures/Graph/DirectedGraph.d.ts +3 -0
  20. package/lib/app/data-structures/Graph/DirectedGraph.js +4 -1
  21. package/lib/app/data-structures/Graph/UndirectedGraph.d.ts +3 -0
  22. package/lib/app/data-structures/Graph/UndirectedGraph.js +4 -1
  23. package/lib/app/data-structures/Graph/_helpers/createGraph.js +2 -2
  24. package/lib/app/data-structures/Graph/_helpers/createGraphFromMatrix.js +2 -2
  25. package/lib/app/data-structures/Graph/_helpers/generateRandomGraph.js +6 -6
  26. package/lib/app/data-structures/HashTable/HashTable.d.ts +4 -4
  27. package/lib/app/data-structures/HashTable/HashTable.js +6 -6
  28. package/lib/app/data-structures/LinkedList/AbstractLinkedList/AbstractLinkedList.d.ts +17 -8
  29. package/lib/app/data-structures/LinkedList/AbstractLinkedList/AbstractLinkedList.js +22 -16
  30. package/lib/app/data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList.d.ts +1 -7
  31. package/lib/app/data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList.js +1 -54
  32. package/lib/app/data-structures/LinkedList/DoubleLinkedList/IterableDoubleLinkedList.d.ts +18 -0
  33. package/lib/app/data-structures/LinkedList/DoubleLinkedList/IterableDoubleLinkedList.js +86 -0
  34. package/lib/app/data-structures/LinkedList/SingleLinkedList/IterableSingleLinkedList.d.ts +18 -0
  35. package/lib/app/data-structures/LinkedList/SingleLinkedList/IterableSingleLinkedList.js +68 -0
  36. package/lib/app/data-structures/LinkedList/SingleLinkedList/SingleLinkedList.d.ts +1 -7
  37. package/lib/app/data-structures/LinkedList/SingleLinkedList/SingleLinkedList.js +1 -36
  38. package/lib/app/data-structures/LinkedList/_helpers/createLinkedList.d.ts +1 -1
  39. package/lib/app/data-structures/LinkedList/_helpers/createLinkedList.js +24 -9
  40. package/lib/app/data-structures/LoopedArray/LoopedArray.d.ts +3 -0
  41. package/lib/app/data-structures/LoopedArray/LoopedArray.js +4 -8
  42. package/lib/app/data-structures/Queue/Queue.d.ts +3 -3
  43. package/lib/app/data-structures/Queue/Queue.js +3 -3
  44. package/lib/app/data-structures/Stack/Stack.d.ts +3 -3
  45. package/lib/app/data-structures/Stack/Stack.js +3 -3
  46. package/lib/app/types/EnumGraphType.d.ts +2 -2
  47. package/lib/app/types/EnumGraphType.js +2 -2
  48. package/lib/app/types/EnumRandomGenerationFormat.d.ts +2 -2
  49. package/lib/app/types/EnumRandomGenerationFormat.js +2 -2
  50. package/lib/app/types/EnumSortType.d.ts +5 -5
  51. package/lib/app/types/EnumSortType.js +5 -5
  52. package/lib/app/types/EnumTreeTraversalType.d.ts +3 -3
  53. package/lib/app/types/EnumTreeTraversalType.js +4 -4
  54. package/lib/app/utils.d.ts +2 -2
  55. package/lib/app/utils.js +5 -4
  56. package/lib/exports/data-structures.d.ts +3 -1
  57. package/lib/exports/data-structures.js +6 -2
  58. package/lib/exports.d.ts +3 -1
  59. package/lib/exports.js +6 -2
  60. package/package.json +1 -1
@@ -0,0 +1,18 @@
1
+ import IIterator from "../../../types/IIterator";
2
+ import IIterable from "../../../types/IIterable";
3
+ import SingleLinkedList from "./SingleLinkedList";
4
+ /**
5
+ * @inheritDoc
6
+ */
7
+ export default class IterableSingleLinkedList<T> extends SingleLinkedList<T> implements IIterable<T> {
8
+ /**
9
+ * @inheritDoc
10
+ */
11
+ constructor(capacity?: number);
12
+ /**
13
+ * List iterator
14
+ * @throws {CollectionIsEmptyException} when list is empty
15
+ * @throws {IndexOutOfBoundsException} when given index is out of range
16
+ */
17
+ iterator(fromIndex?: number): IIterator<T>;
18
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ var IsNotFoundException_1 = require("../../../exceptions/IsNotFoundException");
17
+ var SingleLinkedList_1 = require("./SingleLinkedList");
18
+ /**
19
+ * @inheritDoc
20
+ */
21
+ var IterableSingleLinkedList = /** @class */ (function (_super) {
22
+ __extends(IterableSingleLinkedList, _super);
23
+ /**
24
+ * @inheritDoc
25
+ */
26
+ function IterableSingleLinkedList(capacity) {
27
+ return _super.call(this, capacity) || this;
28
+ }
29
+ /**
30
+ * List iterator
31
+ * @throws {CollectionIsEmptyException} when list is empty
32
+ * @throws {IndexOutOfBoundsException} when given index is out of range
33
+ */
34
+ IterableSingleLinkedList.prototype.iterator = function (fromIndex) {
35
+ if (fromIndex === void 0) { fromIndex = 0; }
36
+ var head = this._head;
37
+ var activeNode = this.getNodeByIndex(fromIndex);
38
+ var iterator = {
39
+ /**
40
+ * @inheritDoc
41
+ */
42
+ current: function () {
43
+ return activeNode.data;
44
+ },
45
+ /**
46
+ * @inheritDoc
47
+ */
48
+ hasNext: function () {
49
+ return Boolean(activeNode.next) && activeNode !== head;
50
+ },
51
+ /**
52
+ * @inheritDoc
53
+ * @throws {IsNotFoundException} when next element does not exist
54
+ */
55
+ next: function () {
56
+ if (!iterator.hasNext()) {
57
+ throw new IsNotFoundException_1.default("Next element does not exist");
58
+ }
59
+ activeNode = activeNode.next;
60
+ return activeNode.data;
61
+ },
62
+ };
63
+ return iterator;
64
+ };
65
+ return IterableSingleLinkedList;
66
+ }(SingleLinkedList_1.default));
67
+ exports.default = IterableSingleLinkedList;
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXRlcmFibGVTaW5nbGVMaW5rZWRMaXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9kYXRhLXN0cnVjdHVyZXMvTGlua2VkTGlzdC9TaW5nbGVMaW5rZWRMaXN0L0l0ZXJhYmxlU2luZ2xlTGlua2VkTGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFHQSwrRUFBMEU7QUFDMUUsdURBQWtEO0FBRWxEOztHQUVHO0FBQ0g7SUFDVSw0Q0FBbUI7SUFFM0I7O09BRUc7SUFDSCxrQ0FBbUIsUUFBaUI7ZUFDbEMsa0JBQU0sUUFBUSxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksMkNBQVEsR0FBZixVQUFnQixTQUFhO1FBQWIsMEJBQUEsRUFBQSxhQUFhO1FBQzNCLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxVQUFVLEdBQXdCLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFckUsSUFBTSxRQUFRLEdBQWlCO1lBQzdCOztlQUVHO1lBQ0gsT0FBTyxFQUFFO2dCQUNQLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQztZQUN6QixDQUFDO1lBQ0Q7O2VBRUc7WUFDSCxPQUFPLEVBQVA7Z0JBQ0UsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsS0FBSyxJQUFJLENBQUM7WUFDekQsQ0FBQztZQUNEOzs7ZUFHRztZQUNILElBQUksRUFBRTtnQkFDSixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUN2QixNQUFNLElBQUksNkJBQW1CLENBQUMsNkJBQTZCLENBQUMsQ0FBQztpQkFDOUQ7Z0JBQ0QsVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFLLENBQUM7Z0JBQzlCLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQztZQUN6QixDQUFDO1NBQ0YsQ0FBQztRQUVGLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFDSCwrQkFBQztBQUFELENBQUMsQUEvQ0QsQ0FDVSwwQkFBZ0IsR0E4Q3pCIn0=
@@ -1,5 +1,3 @@
1
- import IIterator from "../../../types/IIterator";
2
- import IIterable from "../../../types/IIterable";
3
1
  import AbstractLinkedList from "../AbstractLinkedList/AbstractLinkedList";
4
2
  import SingleLinkedNode from "./SingleLinkedNode";
5
3
  /**
@@ -7,7 +5,7 @@ import SingleLinkedNode from "./SingleLinkedNode";
7
5
  * Each node has next
8
6
  * Head's next node is tail
9
7
  */
10
- export default class SingleLinkedList<T> extends AbstractLinkedList<T> implements IIterable<T> {
8
+ export default class SingleLinkedList<T> extends AbstractLinkedList<T> {
11
9
  /**
12
10
  * Override types
13
11
  */
@@ -45,8 +43,4 @@ export default class SingleLinkedList<T> extends AbstractLinkedList<T> implement
45
43
  * @inheritDoc
46
44
  */
47
45
  reverse(): void;
48
- /**
49
- * List iterator
50
- */
51
- iterator(fromIndex?: number): IIterator<T>;
52
46
  }
@@ -15,7 +15,6 @@ var __extends = (this && this.__extends) || (function () {
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  var AbstractLinkedList_1 = require("../AbstractLinkedList/AbstractLinkedList");
17
17
  var SingleLinkedNode_1 = require("./SingleLinkedNode");
18
- var IsNotFoundException_1 = require("../../../exceptions/IsNotFoundException");
19
18
  /**
20
19
  * Linear data structure
21
20
  * Each node has next
@@ -98,41 +97,7 @@ var SingleLinkedList = /** @class */ (function (_super) {
98
97
  this._tail = currentNode.next;
99
98
  }
100
99
  };
101
- /**
102
- * List iterator
103
- */
104
- SingleLinkedList.prototype.iterator = function (fromIndex) {
105
- if (fromIndex === void 0) { fromIndex = 0; }
106
- var head = this._head;
107
- var activeNode = this.getNodeByIndex(fromIndex);
108
- var iterator = {
109
- /**
110
- * @inheritDoc
111
- */
112
- current: function () {
113
- return activeNode.data;
114
- },
115
- /**
116
- * @inheritDoc
117
- */
118
- hasNext: function () {
119
- return Boolean(activeNode.next) && activeNode !== head;
120
- },
121
- /**
122
- * @inheritDoc
123
- * @throws when next element does not exist
124
- */
125
- next: function () {
126
- if (!iterator.hasNext()) {
127
- throw new IsNotFoundException_1.default("Next element does not exist");
128
- }
129
- activeNode = activeNode.next;
130
- return activeNode.data;
131
- },
132
- };
133
- return iterator;
134
- };
135
100
  return SingleLinkedList;
136
101
  }(AbstractLinkedList_1.default));
137
102
  exports.default = SingleLinkedList;
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2luZ2xlTGlua2VkTGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGF0YS1zdHJ1Y3R1cmVzL0xpbmtlZExpc3QvU2luZ2xlTGlua2VkTGlzdC9TaW5nbGVMaW5rZWRMaXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUVBLCtFQUEwRTtBQUMxRSx1REFBa0Q7QUFDbEQsK0VBQTBFO0FBRTFFOzs7O0dBSUc7QUFDSDtJQUNVLG9DQUFxQjtJQVE3Qjs7T0FFRztJQUNILDBCQUFtQixRQUFpQjtRQUFwQyxZQUNFLGtCQUFNLFFBQVEsQ0FBQyxTQUdoQjtRQUZDLEtBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLEtBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDOztJQUNwQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxzQ0FBVyxHQUFuQixVQUNFLElBQWdDO1FBRWhDLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDN0IsT0FBTyxDQUFBLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxJQUFJLE1BQUssSUFBSSxFQUFFO1lBQ2pDLFdBQVcsR0FBRyxDQUFBLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxJQUFJLEtBQUksSUFBSSxDQUFDO1NBQ3pDO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ08scUNBQVUsR0FBcEIsVUFBcUIsS0FBUTtRQUMzQixPQUFPLElBQUksMEJBQWdCLENBQUksS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ08sd0RBQTZCLEdBQXZDLFVBQ0UsVUFBK0IsRUFDL0IsUUFBNkIsRUFDN0IsU0FBOEI7UUFFOUIsVUFBVSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7UUFFNUIsSUFBSSxRQUFRLEVBQUU7WUFDWixRQUFRLENBQUMsSUFB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
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2luZ2xlTGlua2VkTGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGF0YS1zdHJ1Y3R1cmVzL0xpbmtlZExpc3QvU2luZ2xlTGlua2VkTGlzdC9TaW5nbGVMaW5rZWRMaXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtFQUEwRTtBQUMxRSx1REFBa0Q7QUFFbEQ7Ozs7R0FJRztBQUNIO0lBQWlELG9DQUFxQjtJQU9wRTs7T0FFRztJQUNILDBCQUFtQixRQUFpQjtRQUFwQyxZQUNFLGtCQUFNLFFBQVEsQ0FBQyxTQUdoQjtRQUZDLEtBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLEtBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDOztJQUNwQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxzQ0FBVyxHQUFuQixVQUNFLElBQWdDO1FBRWhDLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDN0IsT0FBTyxDQUFBLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxJQUFJLE1BQUssSUFBSSxFQUFFO1lBQ2pDLFdBQVcsR0FBRyxDQUFBLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxJQUFJLEtBQUksSUFBSSxDQUFDO1NBQ3pDO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ08scUNBQVUsR0FBcEIsVUFBcUIsS0FBUTtRQUMzQixPQUFPLElBQUksMEJBQWdCLENBQUksS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ08sd0RBQTZCLEdBQXZDLFVBQ0UsVUFBK0IsRUFDL0IsUUFBNkIsRUFDN0IsU0FBOEI7UUFFOUIsVUFBVSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7UUFFNUIsSUFBSSxRQUFRLEVBQUU7WUFDWixRQUFRLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNPLHlDQUFjLEdBQXhCLFVBQXlCLElBQXlCO1FBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFFLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ08sa0NBQU8sR0FBakI7UUFDRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNPLG9DQUFTLEdBQW5COztRQUNFLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBQSxJQUFJLENBQUMsS0FBSywwQ0FBRSxJQUFJLEtBQUksSUFBSSxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNJLGtDQUFPLEdBQWQ7UUFDRSxJQUFJLFdBQVcsR0FBK0IsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6RCxJQUFJLFFBQVEsR0FBK0IsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN0RCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFFZCxPQUFPLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzNCLElBQU0sSUFBSSxHQUFHLENBQUEsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLElBQUksS0FBSSxJQUFJLENBQUM7WUFFdkMsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsV0FBVyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7YUFDN0I7WUFFRCxLQUFLLEVBQUUsQ0FBQztZQUNSLFFBQVEsR0FBRyxXQUFXLENBQUM7WUFDdkIsV0FBVyxHQUFHLElBQUksQ0FBQztTQUNwQjtRQUVELElBQUksV0FBVyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUNILHVCQUFDO0FBQUQsQ0FBQyxBQWxHRCxDQUFpRCw0QkFBa0IsR0FrR2xFIn0=
@@ -1,3 +1,3 @@
1
1
  import { EnumLinkedListType } from "../../../types/EnumLinkedListType";
2
2
  import ILinkedList from "../../../types/ILinkedList";
3
- export declare const createLinkedList: <T>(type: EnumLinkedListType, capacity?: number | undefined) => ILinkedList<T>;
3
+ export declare const createLinkedList: <T>(type: EnumLinkedListType, isIterable?: boolean, capacity?: number | undefined) => ILinkedList<T>;
@@ -4,16 +4,31 @@ exports.createLinkedList = void 0;
4
4
  var EnumLinkedListType_1 = require("../../../types/EnumLinkedListType");
5
5
  var DoubleLinkedList_1 = require("../DoubleLinkedList/DoubleLinkedList");
6
6
  var SingleLinkedList_1 = require("../SingleLinkedList/SingleLinkedList");
7
- exports.createLinkedList = function (type, capacity) {
7
+ var IterableDoubleLinkedList_1 = require("../DoubleLinkedList/IterableDoubleLinkedList");
8
+ var IterableSingleLinkedList_1 = require("../SingleLinkedList/IterableSingleLinkedList");
9
+ exports.createLinkedList = function (type, isIterable, capacity) {
10
+ if (isIterable === void 0) { isIterable = false; }
8
11
  var linkedList;
9
- switch (type) {
10
- case EnumLinkedListType_1.EnumLinkedListType.DOUBLE:
11
- linkedList = new DoubleLinkedList_1.default(capacity);
12
- break;
13
- case EnumLinkedListType_1.EnumLinkedListType.SINGLE:
14
- linkedList = new SingleLinkedList_1.default(capacity);
15
- break;
12
+ if (isIterable) {
13
+ switch (type) {
14
+ case EnumLinkedListType_1.EnumLinkedListType.DOUBLE:
15
+ linkedList = new IterableDoubleLinkedList_1.default(capacity);
16
+ break;
17
+ case EnumLinkedListType_1.EnumLinkedListType.SINGLE:
18
+ linkedList = new IterableSingleLinkedList_1.default(capacity);
19
+ break;
20
+ }
21
+ }
22
+ else {
23
+ switch (type) {
24
+ case EnumLinkedListType_1.EnumLinkedListType.DOUBLE:
25
+ linkedList = new DoubleLinkedList_1.default(capacity);
26
+ break;
27
+ case EnumLinkedListType_1.EnumLinkedListType.SINGLE:
28
+ linkedList = new SingleLinkedList_1.default(capacity);
29
+ break;
30
+ }
16
31
  }
17
32
  return linkedList;
18
33
  };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTGlua2VkTGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGF0YS1zdHJ1Y3R1cmVzL0xpbmtlZExpc3QvX2hlbHBlcnMvY3JlYXRlTGlua2VkTGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3RUFBdUU7QUFDdkUseUVBQW9FO0FBQ3BFLHlFQUFvRTtBQUd2RCxRQUFBLGdCQUFnQixHQUFHLFVBQzlCLElBQXdCLEVBQ3hCLFFBQWlCO0lBRWpCLElBQUksVUFBMEIsQ0FBQztJQUUvQixRQUFRLElBQUksRUFBRTtRQUNaLEtBQUssdUNBQWtCLENBQUMsTUFBTTtZQUM1QixVQUFVLEdBQUcsSUFBSSwwQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1QyxNQUFNO1FBQ1IsS0FBSyx1Q0FBa0IsQ0FBQyxNQUFNO1lBQzVCLFVBQVUsR0FBRyxJQUFJLDBCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVDLE1BQU07S0FDVDtJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyJ9
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTGlua2VkTGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGF0YS1zdHJ1Y3R1cmVzL0xpbmtlZExpc3QvX2hlbHBlcnMvY3JlYXRlTGlua2VkTGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3RUFBdUU7QUFDdkUseUVBQW9FO0FBQ3BFLHlFQUFvRTtBQUNwRSx5RkFBb0Y7QUFDcEYseUZBQW9GO0FBR3ZFLFFBQUEsZ0JBQWdCLEdBQUcsVUFDOUIsSUFBd0IsRUFDeEIsVUFBa0IsRUFDbEIsUUFBaUI7SUFEakIsMkJBQUEsRUFBQSxrQkFBa0I7SUFHbEIsSUFBSSxVQUEwQixDQUFDO0lBRS9CLElBQUksVUFBVSxFQUFFO1FBQ2QsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLHVDQUFrQixDQUFDLE1BQU07Z0JBQzVCLFVBQVUsR0FBRyxJQUFJLGtDQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNwRCxNQUFNO1lBQ1IsS0FBSyx1Q0FBa0IsQ0FBQyxNQUFNO2dCQUM1QixVQUFVLEdBQUcsSUFBSSxrQ0FBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDcEQsTUFBTTtTQUNUO0tBQ0Y7U0FBTTtRQUNMLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyx1Q0FBa0IsQ0FBQyxNQUFNO2dCQUM1QixVQUFVLEdBQUcsSUFBSSwwQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsTUFBTTtZQUNSLEtBQUssdUNBQWtCLENBQUMsTUFBTTtnQkFDNUIsVUFBVSxHQUFHLElBQUksMEJBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE1BQU07U0FDVDtLQUNGO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyxDQUFDIn0=
@@ -10,6 +10,7 @@ export default class LoopedArray<T> implements IArrayFacade<T> {
10
10
  private _array;
11
11
  /**
12
12
  * Create empty instance
13
+ * @throws {ValueOutOfRangeException} when given capacity is not valid
13
14
  */
14
15
  constructor(capacity: number);
15
16
  /**
@@ -22,10 +23,12 @@ export default class LoopedArray<T> implements IArrayFacade<T> {
22
23
  unshift(value: T): void;
23
24
  /**
24
25
  * Delete node from array's end
26
+ * @throws {CollectionIsEmptyException} when array is empty
25
27
  */
26
28
  pop(): T;
27
29
  /**
28
30
  * Delete node from array's start
31
+ * @throws {CollectionIsEmptyException} when array is empty
29
32
  */
30
33
  shift(): T;
31
34
  /**
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var ValueOutOfRangeException_1 = require("../../exceptions/ValueOutOfRangeException");
4
- var IsNotFoundException_1 = require("../../exceptions/IsNotFoundException");
5
4
  var CollectionIsEmptyException_1 = require("../../exceptions/CollectionIsEmptyException");
6
5
  /**
7
6
  * Linear data structure
@@ -11,6 +10,7 @@ var CollectionIsEmptyException_1 = require("../../exceptions/CollectionIsEmptyEx
11
10
  var LoopedArray = /** @class */ (function () {
12
11
  /**
13
12
  * Create empty instance
13
+ * @throws {ValueOutOfRangeException} when given capacity is not valid
14
14
  */
15
15
  function LoopedArray(capacity) {
16
16
  this._realLength = 0;
@@ -54,6 +54,7 @@ var LoopedArray = /** @class */ (function () {
54
54
  };
55
55
  /**
56
56
  * Delete node from array's end
57
+ * @throws {CollectionIsEmptyException} when array is empty
57
58
  */
58
59
  LoopedArray.prototype.pop = function () {
59
60
  if (this.isEmpty()) {
@@ -61,13 +62,11 @@ var LoopedArray = /** @class */ (function () {
61
62
  }
62
63
  this._realLength--;
63
64
  var deletedItem = this._array.pop();
64
- if (deletedItem === undefined) {
65
- throw new IsNotFoundException_1.default("cannot delete last element because of it does not exists");
66
- }
67
65
  return deletedItem;
68
66
  };
69
67
  /**
70
68
  * Delete node from array's start
69
+ * @throws {CollectionIsEmptyException} when array is empty
71
70
  */
72
71
  LoopedArray.prototype.shift = function () {
73
72
  if (this.isEmpty()) {
@@ -75,9 +74,6 @@ var LoopedArray = /** @class */ (function () {
75
74
  }
76
75
  this._realLength--;
77
76
  var deletedItem = this._array.shift();
78
- if (deletedItem === undefined) {
79
- throw new IsNotFoundException_1.default("cannot delete first element because of it does not exists");
80
- }
81
77
  return deletedItem;
82
78
  };
83
79
  /**
@@ -166,4 +162,4 @@ var LoopedArray = /** @class */ (function () {
166
162
  return LoopedArray;
167
163
  }());
168
164
  exports.default = LoopedArray;
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9vcGVkQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2RhdGEtc3RydWN0dXJlcy9Mb29wZWRBcnJheS9Mb29wZWRBcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHNGQUFpRjtBQUNqRiw0RUFBdUU7QUFDdkUsMEZBQXFGO0FBRXJGOzs7O0dBSUc7QUFDSDtJQUtFOztPQUVHO0lBQ0gscUJBQVksUUFBZ0I7UUFOcEIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFPdEIsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFO1lBQ2pCLE1BQU0sSUFBSSxrQ0FBd0IsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ3RFO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBSSxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSwwQkFBSSxHQUFYLFVBQVksS0FBUTtRQUNsQixJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBSSxDQUFDLENBQUMsQ0FBQztTQUMvQjtRQUVELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVuQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO2FBQU07WUFDTCxJQUFNLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzND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
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9vcGVkQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2RhdGEtc3RydWN0dXJlcy9Mb29wZWRBcnJheS9Mb29wZWRBcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHNGQUFpRjtBQUVqRiwwRkFBcUY7QUFFckY7Ozs7R0FJRztBQUNIO0lBS0U7OztPQUdHO0lBQ0gscUJBQVksUUFBZ0I7UUFQcEIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFRdEIsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFO1lBQ2pCLE1BQU0sSUFBSSxrQ0FBd0IsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ3RFO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBSSxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSwwQkFBSSxHQUFYLFVBQVksS0FBUTtRQUNsQixJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBSSxDQUFDLENBQUMsQ0FBQztTQUMvQjtRQUVELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVuQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO2FBQU07WUFDTCxJQUFNLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJ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
@@ -10,17 +10,17 @@ export default class Queue<T> implements ILinearStorage<T> {
10
10
  constructor(capacity?: number);
11
11
  /**
12
12
  * Get first element in queue (without deleting)
13
- * @throws when list is empty
13
+ * @throws {CollectionIsEmptyException} when list is empty
14
14
  */
15
15
  peek(): T;
16
16
  /**
17
17
  * Add element to queue
18
- * @throws when list is full
18
+ * @throws {CollectionIsFullException} when list is full
19
19
  */
20
20
  push(item: T): void;
21
21
  /**
22
22
  * Delete first element in queue
23
- * @throws when list is empty
23
+ * @throws {CollectionIsEmptyException} when list is empty
24
24
  */
25
25
  pop(): T;
26
26
  /**
@@ -15,7 +15,7 @@ var Queue = /** @class */ (function () {
15
15
  }
16
16
  /**
17
17
  * Get first element in queue (without deleting)
18
- * @throws when list is empty
18
+ * @throws {CollectionIsEmptyException} when list is empty
19
19
  */
20
20
  Queue.prototype.peek = function () {
21
21
  if (this.isEmpty()) {
@@ -25,7 +25,7 @@ var Queue = /** @class */ (function () {
25
25
  };
26
26
  /**
27
27
  * Add element to queue
28
- * @throws when list is full
28
+ * @throws {CollectionIsFullException} when list is full
29
29
  */
30
30
  Queue.prototype.push = function (item) {
31
31
  if (this._list.isFull()) {
@@ -35,7 +35,7 @@ var Queue = /** @class */ (function () {
35
35
  };
36
36
  /**
37
37
  * Delete first element in queue
38
- * @throws when list is empty
38
+ * @throws {CollectionIsEmptyException} when list is empty
39
39
  */
40
40
  Queue.prototype.pop = function () {
41
41
  if (this.isEmpty()) {
@@ -10,17 +10,17 @@ export default class Stack<T> implements ILinearStorage<T> {
10
10
  constructor(capacity?: number);
11
11
  /**
12
12
  * Get stack top element
13
- * @throws when list is empty
13
+ * @throws {CollectionIsEmptyException} when list is empty
14
14
  */
15
15
  peek(): T;
16
16
  /**
17
17
  * Add element to stack head
18
- * @throws when list is full
18
+ * @throws {CollectionIsFullException} when list is full
19
19
  */
20
20
  push(item: T): void;
21
21
  /**
22
22
  * Remove element from stack head
23
- * @throws when list is empty
23
+ * @throws {CollectionIsEmptyException} when list is empty
24
24
  */
25
25
  pop(): T;
26
26
  /**
@@ -15,7 +15,7 @@ var Stack = /** @class */ (function () {
15
15
  }
16
16
  /**
17
17
  * Get stack top element
18
- * @throws when list is empty
18
+ * @throws {CollectionIsEmptyException} when list is empty
19
19
  */
20
20
  Stack.prototype.peek = function () {
21
21
  if (this.isEmpty()) {
@@ -25,7 +25,7 @@ var Stack = /** @class */ (function () {
25
25
  };
26
26
  /**
27
27
  * Add element to stack head
28
- * @throws when list is full
28
+ * @throws {CollectionIsFullException} when list is full
29
29
  */
30
30
  Stack.prototype.push = function (item) {
31
31
  if (this.isFull()) {
@@ -35,7 +35,7 @@ var Stack = /** @class */ (function () {
35
35
  };
36
36
  /**
37
37
  * Remove element from stack head
38
- * @throws when list is empty
38
+ * @throws {CollectionIsEmptyException} when list is empty
39
39
  */
40
40
  Stack.prototype.pop = function () {
41
41
  if (this.isEmpty()) {
@@ -1,4 +1,4 @@
1
1
  export declare enum EnumGraphType {
2
- Directed = "Directed",
3
- Undirected = "Undirected"
2
+ DIRECTED = "DIRECTED",
3
+ UNDIRECTED = "UNDIRECTED"
4
4
  }
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EnumGraphType = void 0;
4
4
  var EnumGraphType;
5
5
  (function (EnumGraphType) {
6
- EnumGraphType["Directed"] = "Directed";
7
- EnumGraphType["Undirected"] = "Undirected";
6
+ EnumGraphType["DIRECTED"] = "DIRECTED";
7
+ EnumGraphType["UNDIRECTED"] = "UNDIRECTED";
8
8
  })(EnumGraphType = exports.EnumGraphType || (exports.EnumGraphType = {}));
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bUdyYXBoVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvdHlwZXMvRW51bUdyYXBoVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDdkIsc0NBQXFCLENBQUE7SUFDckIsMENBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUhXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBR3hCIn0=
@@ -1,4 +1,4 @@
1
1
  export declare enum EnumRandomGenerationFormat {
2
- Numbers = "NUMBERS",
3
- Hash = "HASH"
2
+ NUMBERS = "NUMBERS",
3
+ HASH = "HASH"
4
4
  }
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EnumRandomGenerationFormat = void 0;
4
4
  var EnumRandomGenerationFormat;
5
5
  (function (EnumRandomGenerationFormat) {
6
- EnumRandomGenerationFormat["Numbers"] = "NUMBERS";
7
- EnumRandomGenerationFormat["Hash"] = "HASH";
6
+ EnumRandomGenerationFormat["NUMBERS"] = "NUMBERS";
7
+ EnumRandomGenerationFormat["HASH"] = "HASH";
8
8
  })(EnumRandomGenerationFormat = exports.EnumRandomGenerationFormat || (exports.EnumRandomGenerationFormat = {}));
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bVJhbmRvbUdlbmVyYXRpb25Gb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL3R5cGVzL0VudW1SYW5kb21HZW5lcmF0aW9uRm9ybWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksMEJBR1g7QUFIRCxXQUFZLDBCQUEwQjtJQUNwQyxpREFBbUIsQ0FBQTtJQUNuQiwyQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLDBCQUEwQixHQUExQixrQ0FBMEIsS0FBMUIsa0NBQTBCLFFBR3JDIn0=
@@ -1,7 +1,7 @@
1
1
  export declare enum EnumSortType {
2
- Quick = "Quick",
3
- Merge = "Merge",
4
- Selection = "Selection",
5
- Bubble = "Bubble",
6
- Insertion = "Insertion"
2
+ QUICK = "QUICK",
3
+ MERGE = "MERGE",
4
+ SELECTION = "SELECTION",
5
+ BUBBLE = "BUBBLE",
6
+ INSERTION = "INSERTION"
7
7
  }
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EnumSortType = void 0;
4
4
  var EnumSortType;
5
5
  (function (EnumSortType) {
6
- EnumSortType["Quick"] = "Quick";
7
- EnumSortType["Merge"] = "Merge";
8
- EnumSortType["Selection"] = "Selection";
9
- EnumSortType["Bubble"] = "Bubble";
10
- EnumSortType["Insertion"] = "Insertion";
6
+ EnumSortType["QUICK"] = "QUICK";
7
+ EnumSortType["MERGE"] = "MERGE";
8
+ EnumSortType["SELECTION"] = "SELECTION";
9
+ EnumSortType["BUBBLE"] = "BUBBLE";
10
+ EnumSortType["INSERTION"] = "INSERTION";
11
11
  })(EnumSortType = exports.EnumSortType || (exports.EnumSortType = {}));
12
12
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bVNvcnRUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC90eXBlcy9FbnVtU29ydFR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxZQU1YO0FBTkQsV0FBWSxZQUFZO0lBQ3RCLCtCQUFlLENBQUE7SUFDZiwrQkFBZSxDQUFBO0lBQ2YsdUNBQXVCLENBQUE7SUFDdkIsaUNBQWlCLENBQUE7SUFDakIsdUNBQXVCLENBQUE7QUFDekIsQ0FBQyxFQU5XLFlBQVksR0FBWixvQkFBWSxLQUFaLG9CQUFZLFFBTXZCIn0=
@@ -1,5 +1,5 @@
1
1
  export declare enum EnumTreeTraversalType {
2
- InOrder = "InOrder",
3
- PreOrder = "PreOrder",
4
- PostOrder = "PostOrder"
2
+ IN_ORDER = "IN_ORDER",
3
+ PRE_ORDER = "PRE_ORDER",
4
+ POST_ORDER = "POST_ORDER"
5
5
  }
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EnumTreeTraversalType = void 0;
4
4
  var EnumTreeTraversalType;
5
5
  (function (EnumTreeTraversalType) {
6
- EnumTreeTraversalType["InOrder"] = "InOrder";
7
- EnumTreeTraversalType["PreOrder"] = "PreOrder";
8
- EnumTreeTraversalType["PostOrder"] = "PostOrder";
6
+ EnumTreeTraversalType["IN_ORDER"] = "IN_ORDER";
7
+ EnumTreeTraversalType["PRE_ORDER"] = "PRE_ORDER";
8
+ EnumTreeTraversalType["POST_ORDER"] = "POST_ORDER";
9
9
  })(EnumTreeTraversalType = exports.EnumTreeTraversalType || (exports.EnumTreeTraversalType = {}));
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bVRyZWVUcmF2ZXJzYWxUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC90eXBlcy9FbnVtVHJlZVRyYXZlcnNhbFR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxxQkFJWDtBQUpELFdBQVkscUJBQXFCO0lBQy9CLDRDQUFtQixDQUFBO0lBQ25CLDhDQUFxQixDQUFBO0lBQ3JCLGdEQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFKVyxxQkFBcUIsR0FBckIsNkJBQXFCLEtBQXJCLDZCQUFxQixRQUloQyJ9
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bVRyZWVUcmF2ZXJzYWxUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC90eXBlcy9FbnVtVHJlZVRyYXZlcnNhbFR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxxQkFJWDtBQUpELFdBQVkscUJBQXFCO0lBQy9CLDhDQUFxQixDQUFBO0lBQ3JCLGdEQUF1QixDQUFBO0lBQ3ZCLGtEQUF5QixDQUFBO0FBQzNCLENBQUMsRUFKVyxxQkFBcUIsR0FBckIsNkJBQXFCLEtBQXJCLDZCQUFxQixRQUloQyJ9
@@ -16,9 +16,9 @@ export declare const swapArrayItems: <T>(arr: T[], leftIndex: number, rightIndex
16
16
  */
17
17
  export declare const randomizeNumberInRange: (min: number, max: number) => number;
18
18
  /**
19
- * Round number to 3 digits after
19
+ * Round number to given digits after
20
20
  */
21
- export declare const roundNumber: (num: number) => number;
21
+ export declare const roundNumber: (num: number, digits?: number) => number;
22
22
  /**
23
23
  * Get time execution of function
24
24
  */
package/lib/app/utils.js CHANGED
@@ -70,10 +70,11 @@ exports.randomizeNumberInRange = function (min, max) {
70
70
  return Math.floor(Math.random() * (max - min)) + min;
71
71
  };
72
72
  /**
73
- * Round number to 3 digits after
73
+ * Round number to given digits after
74
74
  */
75
- exports.roundNumber = function (num) {
76
- return Math.round(num * 1000) / 1000;
75
+ exports.roundNumber = function (num, digits) {
76
+ if (digits === void 0) { digits = 3; }
77
+ return Math.round(num * Math.pow(10, digits)) / Math.pow(10, digits);
77
78
  };
78
79
  /**
79
80
  * Get time execution of function
@@ -111,4 +112,4 @@ exports.checkIsArrayMatrix = function (array) {
111
112
  exports.randomizeArray = function (length, max) {
112
113
  return new Array(length).fill(0).map(function () { return Math.round(Math.random() * max); });
113
114
  };
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF5QztBQUV6Qzs7R0FFRztBQUNVLFFBQUEsV0FBVyxHQUFHLFVBQUMsR0FBa0I7SUFDNUMsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLO1FBQ3RDLE9BQU8sSUFBSSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDakQsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLG9CQUFvQixHQUFHLFVBQ2xDLEdBQWtCLEVBQ2xCLFNBQWlCO0lBRWpCLE9BQU8sU0FBUyxHQUFHLG1CQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELENBQUMsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsY0FBYyxHQUFHLFVBQzVCLEdBQWEsRUFDYixTQUFpQixFQUNqQixVQUFrQjtJQUVsQixJQUFJLFNBQVMsS0FBSyxVQUFVLEVBQUU7UUFDNUIsSUFBTSxJQUFJLEdBQU0sR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQztLQUN4QjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRyxVQUFDLEdBQVcsRUFBRSxHQUFXO0lBQzdELE9BQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHO0FBQTdDLENBQTZDLENBQUM7QUFFaEQ7O0dBRUc7QUFDVSxRQUFBLFdBQVcsR0FBRyxVQUFDLEdBQVc7SUFDckMsT0FBQSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJO0FBQTdCLENBQTZCLENBQUM7QUFFaEM7O0dBRUc7QUFDVSxRQUFBLElBQUksR0FBRyxVQUFDLEVBQWM7SUFDakMsSUFBTSxTQUFTLEdBQUcsd0JBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNwQyxFQUFFLEVBQUUsQ0FBQztJQUNMLElBQU0sT0FBTyxHQUFHLHdCQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbEMsT0FBTyxPQUFPLEdBQUcsU0FBUyxDQUFDO0FBQzdCLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxTQUFTLEdBQUcsVUFBTyxFQUFjOztRQUM1QyxzQkFBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDOztLQUNsQyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLGtCQUFrQixHQUFHLFVBQUksS0FBc0I7SUFDMUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDckMsSUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLElBQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzNELElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN0QixPQUFPLEtBQUssQ0FBQztTQUNkO0tBQ0Y7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxjQUFjLEdBQUcsVUFBQyxNQUFjLEVBQUUsR0FBVztJQUN4RCxPQUFBLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBTSxPQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUEvQixDQUErQixDQUFDO0FBQXBFLENBQW9FLENBQUMifQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF5QztBQUV6Qzs7R0FFRztBQUNVLFFBQUEsV0FBVyxHQUFHLFVBQUMsR0FBa0I7SUFDNUMsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLO1FBQ3RDLE9BQU8sSUFBSSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDakQsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLG9CQUFvQixHQUFHLFVBQ2xDLEdBQWtCLEVBQ2xCLFNBQWlCO0lBRWpCLE9BQU8sU0FBUyxHQUFHLG1CQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELENBQUMsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsY0FBYyxHQUFHLFVBQzVCLEdBQWEsRUFDYixTQUFpQixFQUNqQixVQUFrQjtJQUVsQixJQUFJLFNBQVMsS0FBSyxVQUFVLEVBQUU7UUFDNUIsSUFBTSxJQUFJLEdBQU0sR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQztLQUN4QjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRyxVQUFDLEdBQVcsRUFBRSxHQUFXO0lBQzdELE9BQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHO0FBQTdDLENBQTZDLENBQUM7QUFFaEQ7O0dBRUc7QUFDVSxRQUFBLFdBQVcsR0FBRyxVQUFDLEdBQVcsRUFBRSxNQUFVO0lBQVYsdUJBQUEsRUFBQSxVQUFVO0lBQ2pELE9BQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsU0FBQSxFQUFFLEVBQUksTUFBTSxDQUFBLENBQUMsR0FBRyxTQUFBLEVBQUUsRUFBSSxNQUFNLENBQUE7QUFBN0MsQ0FBNkMsQ0FBQztBQUVoRDs7R0FFRztBQUNVLFFBQUEsSUFBSSxHQUFHLFVBQUMsRUFBYztJQUNqQyxJQUFNLFNBQVMsR0FBRyx3QkFBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3BDLEVBQUUsRUFBRSxDQUFDO0lBQ0wsSUFBTSxPQUFPLEdBQUcsd0JBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNsQyxPQUFPLE9BQU8sR0FBRyxTQUFTLENBQUM7QUFDN0IsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLFNBQVMsR0FBRyxVQUFPLEVBQWM7O1FBQzVDLHNCQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUM7O0tBQ2xDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsa0JBQWtCLEdBQUcsVUFBSSxLQUFzQjtJQUMxRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNyQyxJQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDM0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3RCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7S0FDRjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLGNBQWMsR0FBRyxVQUFDLE1BQWMsRUFBRSxHQUFXO0lBQ3hELE9BQUEsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxjQUFNLE9BQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQS9CLENBQStCLENBQUM7QUFBcEUsQ0FBb0UsQ0FBQyJ9
@@ -5,7 +5,9 @@ import DirectedGraph from "../app/data-structures/Graph/DirectedGraph";
5
5
  import BinarySearchTree from "../app/data-structures/BinaryTree/BinarySearchTree/BinarySearchTree";
6
6
  import RandBinarySearchTree from "../app/data-structures/BinaryTree/RandBinarySearchTree/RandBinarySearchTree";
7
7
  import DoubleLinkedList from "../app/data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList";
8
+ import IterableDoubleLinkedList from "../app/data-structures/LinkedList/DoubleLinkedList/IterableDoubleLinkedList";
9
+ import IterableSingleLinkedList from "../app/data-structures/LinkedList/SingleLinkedList/IterableSingleLinkedList";
8
10
  import SingleLinkedList from "../app/data-structures/LinkedList/SingleLinkedList/SingleLinkedList";
9
11
  import LoopedArray from "../app/data-structures/LoopedArray/LoopedArray";
10
12
  import HashTable from "../app/data-structures/HashTable/HashTable";
11
- export { Stack, Queue, SingleLinkedList, DoubleLinkedList, RandBinarySearchTree, BinarySearchTree, DirectedGraph, UndirectedGraph, LoopedArray, HashTable, };
13
+ export { Stack, Queue, SingleLinkedList, DoubleLinkedList, IterableDoubleLinkedList, IterableSingleLinkedList, RandBinarySearchTree, BinarySearchTree, DirectedGraph, UndirectedGraph, LoopedArray, HashTable, };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HashTable = exports.LoopedArray = exports.UndirectedGraph = exports.DirectedGraph = exports.BinarySearchTree = exports.RandBinarySearchTree = exports.DoubleLinkedList = exports.SingleLinkedList = exports.Queue = exports.Stack = void 0;
3
+ exports.HashTable = exports.LoopedArray = exports.UndirectedGraph = exports.DirectedGraph = exports.BinarySearchTree = exports.RandBinarySearchTree = exports.IterableSingleLinkedList = exports.IterableDoubleLinkedList = exports.DoubleLinkedList = exports.SingleLinkedList = exports.Queue = exports.Stack = void 0;
4
4
  var Queue_1 = require("../app/data-structures/Queue/Queue");
5
5
  exports.Queue = Queue_1.default;
6
6
  var Stack_1 = require("../app/data-structures/Stack/Stack");
@@ -15,10 +15,14 @@ var RandBinarySearchTree_1 = require("../app/data-structures/BinaryTree/RandBina
15
15
  exports.RandBinarySearchTree = RandBinarySearchTree_1.default;
16
16
  var DoubleLinkedList_1 = require("../app/data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList");
17
17
  exports.DoubleLinkedList = DoubleLinkedList_1.default;
18
+ var IterableDoubleLinkedList_1 = require("../app/data-structures/LinkedList/DoubleLinkedList/IterableDoubleLinkedList");
19
+ exports.IterableDoubleLinkedList = IterableDoubleLinkedList_1.default;
20
+ var IterableSingleLinkedList_1 = require("../app/data-structures/LinkedList/SingleLinkedList/IterableSingleLinkedList");
21
+ exports.IterableSingleLinkedList = IterableSingleLinkedList_1.default;
18
22
  var SingleLinkedList_1 = require("../app/data-structures/LinkedList/SingleLinkedList/SingleLinkedList");
19
23
  exports.SingleLinkedList = SingleLinkedList_1.default;
20
24
  var LoopedArray_1 = require("../app/data-structures/LoopedArray/LoopedArray");
21
25
  exports.LoopedArray = LoopedArray_1.default;
22
26
  var HashTable_1 = require("../app/data-structures/HashTable/HashTable");
23
27
  exports.HashTable = HashTable_1.default;
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zdHJ1Y3R1cmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4cG9ydHMvZGF0YS1zdHJ1Y3R1cmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDREQUF1RDtBQWFyRCxnQkFiSyxlQUFLLENBYUw7QUFaUCw0REFBdUQ7QUFXckQsZ0JBWEssZUFBSyxDQVdMO0FBVlAsZ0ZBQTJFO0FBaUJ6RSwwQkFqQksseUJBQWUsQ0FpQkw7QUFoQmpCLDRFQUF1RTtBQWVyRSx3QkFmSyx1QkFBYSxDQWVMO0FBZGYsd0dBQW1HO0FBYWpHLDJCQWJLLDBCQUFnQixDQWFMO0FBWmxCLG9IQUErRztBQVc3RywrQkFYSyw4QkFBb0IsQ0FXTDtBQVZ0Qix3R0FBbUc7QUFTakcsMkJBVEssMEJBQWdCLENBU0w7QUFSbEIsd0dBQW1HO0FBT2pHLDJCQVBLLDBCQUFnQixDQU9MO0FBTmxCLDhFQUF5RTtBQVl2RSxzQkFaSyxxQkFBVyxDQVlMO0FBWGIsd0VBQW1FO0FBWWpFLG9CQVpLLG1CQUFTLENBWUwifQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zdHJ1Y3R1cmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4cG9ydHMvZGF0YS1zdHJ1Y3R1cmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDREQUF1RDtBQWVyRCxnQkFmSyxlQUFLLENBZUw7QUFkUCw0REFBdUQ7QUFhckQsZ0JBYkssZUFBSyxDQWFMO0FBWlAsZ0ZBQTJFO0FBcUJ6RSwwQkFyQksseUJBQWUsQ0FxQkw7QUFwQmpCLDRFQUF1RTtBQW1CckUsd0JBbkJLLHVCQUFhLENBbUJMO0FBbEJmLHdHQUFtRztBQWlCakcsMkJBakJLLDBCQUFnQixDQWlCTDtBQWhCbEIsb0hBQStHO0FBZTdHLCtCQWZLLDhCQUFvQixDQWVMO0FBZHRCLHdHQUFtRztBQVdqRywyQkFYSywwQkFBZ0IsQ0FXTDtBQVZsQix3SEFBbUg7QUFXakgsbUNBWEssa0NBQXdCLENBV0w7QUFWMUIsd0hBQW1IO0FBV2pILG1DQVhLLGtDQUF3QixDQVdMO0FBVjFCLHdHQUFtRztBQU9qRywyQkFQSywwQkFBZ0IsQ0FPTDtBQU5sQiw4RUFBeUU7QUFjdkUsc0JBZEsscUJBQVcsQ0FjTDtBQWJiLHdFQUFtRTtBQWNqRSxvQkFkSyxtQkFBUyxDQWNMIn0=
package/lib/exports.d.ts CHANGED
@@ -26,6 +26,8 @@ import DirectedGraph from "./app/data-structures/Graph/DirectedGraph";
26
26
  import BinarySearchTree from "./app/data-structures/BinaryTree/BinarySearchTree/BinarySearchTree";
27
27
  import RandBinarySearchTree from "./app/data-structures/BinaryTree/RandBinarySearchTree/RandBinarySearchTree";
28
28
  import DoubleLinkedList from "./app/data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList";
29
+ import IterableSingleLinkedList from "./app/data-structures/LinkedList/SingleLinkedList/IterableSingleLinkedList";
30
+ import IterableDoubleLinkedList from "./app/data-structures/LinkedList/DoubleLinkedList/IterableDoubleLinkedList";
29
31
  import SingleLinkedList from "./app/data-structures/LinkedList/SingleLinkedList/SingleLinkedList";
30
32
  import LoopedArray from "./app/data-structures/LoopedArray/LoopedArray";
31
33
  import HashTable from "./app/data-structures/HashTable/HashTable";
@@ -46,7 +48,7 @@ import { memoize } from "./app/algorithms/memoize";
46
48
  import { getMinIndex, getMinIndexFromIndex, perf, randomizeNumberInRange, roundNumber, swapArrayItems, perfAsync } from "./app/utils";
47
49
  export { perf, getMinIndex, getMinIndexFromIndex, memoize, perfAsync, roundNumber, randomizeNumberInRange, swapArrayItems, };
48
50
  export { bubbleSort, insertionSort, mergeSort, selectSort, quickSort };
49
- export { Stack, Queue, SingleLinkedList, DoubleLinkedList, RandBinarySearchTree, BinarySearchTree, DirectedGraph, UndirectedGraph, LoopedArray, HashTable, };
51
+ export { Stack, Queue, SingleLinkedList, IterableSingleLinkedList, DoubleLinkedList, IterableDoubleLinkedList, RandBinarySearchTree, BinarySearchTree, DirectedGraph, UndirectedGraph, LoopedArray, HashTable, };
50
52
  export { EDGE_NOT_EXISTS_STATE, EDGE_EXISTS_STATE };
51
53
  export { createGraph, createGraphFromMatrix, createBinaryTree, createLinkedList, generateRandomGraph, };
52
54
  export { binarySearch, factorial, memoizedFactorial, memoizedFibonacci, fibonacci, transposeMatrix, GraphIteratorDFS, presenterAdjacencyLists, presenterAdjacencyMatrix, hasPath, shortestPath, DijkstraIterationStrategy, DFSIterationStrategy, BFSIterationStrategy, GraphIteratorBFS, GraphIteratorDijkstra, transposeDirectedGraph, };