@raikuxq/alg-ds 1.2.1 → 1.2.4
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.
- package/README.md +9 -1
- package/lib/app/algorithms/graph/iterator/AbstractGraphIterator.d.ts +4 -0
- package/lib/app/algorithms/graph/iterator/AbstractGraphIterator.js +5 -1
- package/lib/app/algorithms/graph/searching/hasPath.d.ts +3 -3
- package/lib/app/algorithms/graph/searching/hasPath.js +3 -3
- package/lib/app/algorithms/graph/searching/shortestPath.d.ts +3 -3
- package/lib/app/algorithms/graph/searching/shortestPath.js +3 -3
- package/lib/app/algorithms/graph/transposing/transposeDirectedGraph.js +1 -1
- package/lib/app/algorithms/transpose-matrix.d.ts +1 -0
- package/lib/app/algorithms/transpose-matrix.js +2 -1
- package/lib/app/data-structures/BinaryTree/AbstractBinaryTree/AbstractBinaryTree.d.ts +1 -1
- package/lib/app/data-structures/BinaryTree/AbstractBinaryTree/AbstractBinaryTree.js +1 -2
- package/lib/app/data-structures/BinaryTree/BinarySearchTree/BinarySearchTree.d.ts +6 -1
- package/lib/app/data-structures/BinaryTree/BinarySearchTree/BinarySearchTree.js +10 -5
- package/lib/app/data-structures/BinaryTree/RandBinarySearchTree/RandBinarySearchTree.d.ts +1 -0
- package/lib/app/data-structures/BinaryTree/RandBinarySearchTree/RandBinarySearchTree.js +2 -1
- package/lib/app/data-structures/Graph/AbstractGraph.d.ts +3 -3
- package/lib/app/data-structures/Graph/AbstractGraph.js +3 -3
- package/lib/app/data-structures/Graph/DirectedGraph.d.ts +3 -0
- package/lib/app/data-structures/Graph/DirectedGraph.js +4 -1
- package/lib/app/data-structures/Graph/UndirectedGraph.d.ts +3 -0
- package/lib/app/data-structures/Graph/UndirectedGraph.js +4 -1
- package/lib/app/data-structures/Graph/_helpers/createGraph.js +2 -2
- package/lib/app/data-structures/Graph/_helpers/createGraphFromMatrix.js +2 -2
- package/lib/app/data-structures/Graph/_helpers/generateRandomGraph.js +6 -6
- package/lib/app/data-structures/HashTable/HashTable.d.ts +4 -4
- package/lib/app/data-structures/HashTable/HashTable.js +6 -6
- package/lib/app/data-structures/LinkedList/AbstractLinkedList/AbstractLinkedList.d.ts +17 -8
- package/lib/app/data-structures/LinkedList/AbstractLinkedList/AbstractLinkedList.js +22 -16
- package/lib/app/data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList.d.ts +1 -7
- package/lib/app/data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList.js +1 -54
- package/lib/app/data-structures/LinkedList/DoubleLinkedList/IterableDoubleLinkedList.d.ts +18 -0
- package/lib/app/data-structures/LinkedList/DoubleLinkedList/IterableDoubleLinkedList.js +86 -0
- package/lib/app/data-structures/LinkedList/SingleLinkedList/IterableSingleLinkedList.d.ts +18 -0
- package/lib/app/data-structures/LinkedList/SingleLinkedList/IterableSingleLinkedList.js +68 -0
- package/lib/app/data-structures/LinkedList/SingleLinkedList/SingleLinkedList.d.ts +1 -7
- package/lib/app/data-structures/LinkedList/SingleLinkedList/SingleLinkedList.js +1 -36
- package/lib/app/data-structures/LinkedList/_helpers/createLinkedList.d.ts +1 -1
- package/lib/app/data-structures/LinkedList/_helpers/createLinkedList.js +24 -9
- package/lib/app/data-structures/LoopedArray/LoopedArray.d.ts +3 -0
- package/lib/app/data-structures/LoopedArray/LoopedArray.js +4 -8
- package/lib/app/data-structures/Queue/Queue.d.ts +3 -3
- package/lib/app/data-structures/Queue/Queue.js +3 -3
- package/lib/app/data-structures/Stack/Stack.d.ts +3 -3
- package/lib/app/data-structures/Stack/Stack.js +3 -3
- package/lib/app/types/EnumGraphType.d.ts +2 -2
- package/lib/app/types/EnumGraphType.js +2 -2
- package/lib/app/types/EnumRandomGenerationFormat.d.ts +2 -2
- package/lib/app/types/EnumRandomGenerationFormat.js +2 -2
- package/lib/app/types/EnumSortType.d.ts +5 -5
- package/lib/app/types/EnumSortType.js +5 -5
- package/lib/app/types/EnumTreeTraversalType.d.ts +3 -3
- package/lib/app/types/EnumTreeTraversalType.js +4 -4
- package/lib/app/utils.d.ts +2 -2
- package/lib/app/utils.js +5 -4
- package/lib/exports/data-structures.d.ts +3 -1
- package/lib/exports/data-structures.js +6 -2
- package/lib/exports.d.ts +3 -1
- package/lib/exports.js +6 -2
- package/package.json +26 -1
|
@@ -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>
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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,
|
|
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,
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9vcGVkQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2RhdGEtc3RydWN0dXJlcy9Mb29wZWRBcnJheS9Mb29wZWRBcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHNGQUFpRjtBQUVqRiwwRkFBcUY7QUFFckY7Ozs7R0FJRztBQUNIO0lBS0U7OztPQUdHO0lBQ0gscUJBQVksUUFBZ0I7UUFQcEIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFRdEIsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFO1lBQ2pCLE1BQU0sSUFBSSxrQ0FBd0IsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ3RFO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBSSxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSwwQkFBSSxHQUFYLFVBQVksS0FBUTtRQUNsQixJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBSSxDQUFDLENBQUMsQ0FBQztTQUMvQjtRQUVELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVuQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO2FBQU07WUFDTCxJQUFNLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksNkJBQU8sR0FBZCxVQUFlLEtBQVE7UUFDckIsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUksQ0FBQyxDQUFDLENBQUM7U0FDL0I7UUFDRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSx5QkFBRyxHQUFWO1FBQ0UsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbEIsTUFBTSxJQUFJLG9DQUEwQixDQUNsQyxzQ0FBc0MsQ0FDdkMsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFdEMsT0FBTyxXQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLDJCQUFLLEdBQVo7UUFDRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNsQixNQUFNLElBQUksb0NBQTBCLENBQ2xDLHNDQUFzQyxDQUN2QyxDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUV4QyxPQUFPLFdBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSSwwQkFBSSxHQUFYO1FBQ0UsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNJLG1DQUFhLEdBQXBCO1FBQ0UsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILGlDQUFXLEdBQVgsVUFBWSxLQUFhO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQ0FBYSxHQUFiLFVBQWMsS0FBUSxFQUFFLFNBQWlCO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNJLGdDQUFVLEdBQWpCO1FBQ0UsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNJLHlCQUFHLEdBQVYsVUFBVyxJQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksNkJBQU8sR0FBZDtRQUNFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNJLDRCQUFNLEdBQWI7UUFDRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDOUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksNEJBQU0sR0FBYjtRQUNFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksMkJBQUssR0FBWjtRQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gscUNBQWUsR0FBZixVQUFnQixTQUFpQjtRQUMvQixJQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O1NBRUs7SUFDTCxtQ0FBYSxHQUFiLFVBQWMsUUFBa0I7UUFBaEMsaUJBSUM7UUFIQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQUMsT0FBVTtZQUMxQixLQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsNkJBQU8sR0FBUDtRQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBQ0gsa0JBQUM7QUFBRCxDQUFDLEFBbExELElBa0xDIn0=
|
|
@@ -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()) {
|
|
@@ -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["
|
|
7
|
-
EnumGraphType["
|
|
6
|
+
EnumGraphType["DIRECTED"] = "DIRECTED";
|
|
7
|
+
EnumGraphType["UNDIRECTED"] = "UNDIRECTED";
|
|
8
8
|
})(EnumGraphType = exports.EnumGraphType || (exports.EnumGraphType = {}));
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bUdyYXBoVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvdHlwZXMvRW51bUdyYXBoVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDdkIsc0NBQXFCLENBQUE7SUFDckIsMENBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUhXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBR3hCIn0=
|
|
@@ -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["
|
|
7
|
-
EnumRandomGenerationFormat["
|
|
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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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["
|
|
7
|
-
EnumSortType["
|
|
8
|
-
EnumSortType["
|
|
9
|
-
EnumSortType["
|
|
10
|
-
EnumSortType["
|
|
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=
|
|
@@ -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["
|
|
7
|
-
EnumTreeTraversalType["
|
|
8
|
-
EnumTreeTraversalType["
|
|
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,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bVRyZWVUcmF2ZXJzYWxUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC90eXBlcy9FbnVtVHJlZVRyYXZlcnNhbFR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxxQkFJWDtBQUpELFdBQVkscUJBQXFCO0lBQy9CLDhDQUFxQixDQUFBO0lBQ3JCLGdEQUF1QixDQUFBO0lBQ3ZCLGtEQUF5QixDQUFBO0FBQzNCLENBQUMsRUFKVyxxQkFBcUIsR0FBckIsNkJBQXFCLEtBQXJCLDZCQUFxQixRQUloQyJ9
|
package/lib/app/utils.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
73
|
+
* Round number to given digits after
|
|
74
74
|
*/
|
|
75
|
-
exports.roundNumber = function (num) {
|
|
76
|
-
|
|
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,
|
|
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,
|
|
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, };
|