@raikuxq/alg-ds 1.2.2 → 1.2.5
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/data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList.d.ts +1 -9
- package/lib/app/data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList.js +1 -56
- 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 -9
- package/lib/app/data-structures/LinkedList/SingleLinkedList/SingleLinkedList.js +1 -38
- 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/utils.d.ts +0 -8
- package/lib/app/utils.js +2 -56
- package/lib/exports/data-structures.d.ts +3 -1
- package/lib/exports/data-structures.js +6 -2
- package/lib/exports/utils.d.ts +2 -2
- package/lib/exports/utils.js +2 -4
- package/lib/exports.d.ts +5 -3
- package/lib/exports.js +6 -4
- package/package.json +26 -1
package/README.md
CHANGED
|
@@ -94,11 +94,19 @@ Implements [ILinearStorageRA](src/app/types/ILinearStorageRA.ts) interface.
|
|
|
94
94
|
[SingleLinkedList](src/app/data-structures/LinkedList/SingleLinkedList/SingleLinkedList.ts)
|
|
95
95
|
[ [ tests ] ](test/unit/data-structures/linked-list/linked-list.test.ts)
|
|
96
96
|
— Extends abstract linked list with implementation of one-way linking.
|
|
97
|
-
Implements [IIterable](src/app/types/IIterable.ts) interface.
|
|
98
97
|
|
|
99
98
|
[DoubleLinkedList](src/app/data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList.ts)
|
|
100
99
|
[ [ tests ] ](test/unit/data-structures/linked-list/linked-list.test.ts)
|
|
101
100
|
— Extends abstract linked list with implementation of two-way linking.
|
|
101
|
+
|
|
102
|
+
[IterableSingleLinkedList](src/app/data-structures/LinkedList/SingleLinkedList/IterableSingleLinkedList.ts)
|
|
103
|
+
[ [ tests ] ](test/unit/data-structures/linked-list/linked-list-iterable.test.ts)
|
|
104
|
+
— Extends single linked list with iterator implementation.
|
|
105
|
+
Implements [IIterable](src/app/types/IIterable.ts) interface.
|
|
106
|
+
|
|
107
|
+
[IterableDoubleLinkedList](src/app/data-structures/LinkedList/DoubleLinkedList/IterableDoubleLinkedList.ts)
|
|
108
|
+
[ [ tests ] ](test/unit/data-structures/linked-list/linked-list-iterable.test.ts)
|
|
109
|
+
— Extends double linked list with implementation of two-way linking.
|
|
102
110
|
Implements [IBiDirectIterable](src/app/types/IBiDirectIterable.ts) interface.
|
|
103
111
|
|
|
104
112
|
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import IBiDirectIterator from "../../../types/IBiDirectIterator";
|
|
2
|
-
import IBiDirectIterable from "../../../types/IBiDirectIterable";
|
|
3
1
|
import AbstractLinkedList from "../AbstractLinkedList/AbstractLinkedList";
|
|
4
2
|
import DoubleLinkedNode from "./DoubleLinkedNode";
|
|
5
3
|
/**
|
|
@@ -7,7 +5,7 @@ import DoubleLinkedNode from "./DoubleLinkedNode";
|
|
|
7
5
|
* Each node has next and prev sibling
|
|
8
6
|
* Head and tail are linked to each other
|
|
9
7
|
*/
|
|
10
|
-
export default class DoubleLinkedList<T> extends AbstractLinkedList<T>
|
|
8
|
+
export default class DoubleLinkedList<T> extends AbstractLinkedList<T> {
|
|
11
9
|
/**
|
|
12
10
|
* Override types
|
|
13
11
|
*/
|
|
@@ -41,10 +39,4 @@ export default class DoubleLinkedList<T> extends AbstractLinkedList<T> implement
|
|
|
41
39
|
* @inheritDoc
|
|
42
40
|
*/
|
|
43
41
|
reverse(): void;
|
|
44
|
-
/**
|
|
45
|
-
* List iterator
|
|
46
|
-
* @throws {CollectionIsEmptyException} when list is empty
|
|
47
|
-
* @throws {IndexOutOfBoundsException} when given index is out of range
|
|
48
|
-
*/
|
|
49
|
-
iterator(fromIndex?: number): IBiDirectIterator<T>;
|
|
50
42
|
}
|
|
@@ -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 DoubleLinkedNode_1 = require("./DoubleLinkedNode");
|
|
18
|
-
var IsNotFoundException_1 = require("../../../exceptions/IsNotFoundException");
|
|
19
18
|
/**
|
|
20
19
|
* Linear data structure
|
|
21
20
|
* Each node has next and prev sibling
|
|
@@ -93,61 +92,7 @@ var DoubleLinkedList = /** @class */ (function (_super) {
|
|
|
93
92
|
this._head = currentNode;
|
|
94
93
|
}
|
|
95
94
|
};
|
|
96
|
-
/**
|
|
97
|
-
* List iterator
|
|
98
|
-
* @throws {CollectionIsEmptyException} when list is empty
|
|
99
|
-
* @throws {IndexOutOfBoundsException} when given index is out of range
|
|
100
|
-
*/
|
|
101
|
-
DoubleLinkedList.prototype.iterator = function (fromIndex) {
|
|
102
|
-
if (fromIndex === void 0) { fromIndex = 0; }
|
|
103
|
-
var head = this._head;
|
|
104
|
-
var tail = this._tail;
|
|
105
|
-
var activeNode = this.getNodeByIndex(fromIndex);
|
|
106
|
-
var iterator = {
|
|
107
|
-
/**
|
|
108
|
-
* @inheritDoc
|
|
109
|
-
*/
|
|
110
|
-
current: function () {
|
|
111
|
-
return activeNode.data;
|
|
112
|
-
},
|
|
113
|
-
/**
|
|
114
|
-
* @inheritDoc
|
|
115
|
-
*/
|
|
116
|
-
hasNext: function () {
|
|
117
|
-
return Boolean(activeNode.next) && activeNode !== head;
|
|
118
|
-
},
|
|
119
|
-
/**
|
|
120
|
-
* @inheritDoc
|
|
121
|
-
*/
|
|
122
|
-
hasPrev: function () {
|
|
123
|
-
return Boolean(activeNode.prev) && activeNode !== tail;
|
|
124
|
-
},
|
|
125
|
-
/**
|
|
126
|
-
* @inheritDoc
|
|
127
|
-
* @throws {IsNotFoundException} when next element does not exist
|
|
128
|
-
*/
|
|
129
|
-
next: function () {
|
|
130
|
-
if (!iterator.hasNext()) {
|
|
131
|
-
throw new IsNotFoundException_1.default("Next element does not exist");
|
|
132
|
-
}
|
|
133
|
-
activeNode = activeNode.next;
|
|
134
|
-
return activeNode.data;
|
|
135
|
-
},
|
|
136
|
-
/**
|
|
137
|
-
* @inheritDoc
|
|
138
|
-
* @throws {IsNotFoundException} when prev element does not exists
|
|
139
|
-
*/
|
|
140
|
-
prev: function () {
|
|
141
|
-
if (!iterator.hasPrev()) {
|
|
142
|
-
throw new IsNotFoundException_1.default("Prev element does not exist");
|
|
143
|
-
}
|
|
144
|
-
activeNode = activeNode.prev;
|
|
145
|
-
return activeNode.data;
|
|
146
|
-
},
|
|
147
|
-
};
|
|
148
|
-
return iterator;
|
|
149
|
-
};
|
|
150
95
|
return DoubleLinkedList;
|
|
151
96
|
}(AbstractLinkedList_1.default));
|
|
152
97
|
exports.default = DoubleLinkedList;
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG91YmxlTGlua2VkTGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGF0YS1zdHJ1Y3R1cmVzL0xpbmtlZExpc3QvRG91YmxlTGlua2VkTGlzdC9Eb3VibGVMaW5rZWRMaXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtFQUEwRTtBQUMxRSx1REFBa0Q7QUFFbEQ7Ozs7R0FJRztBQUNIO0lBQWlELG9DQUFxQjtJQU9wRTs7T0FFRztJQUNILDBCQUFtQixRQUFpQjtRQUFwQyxZQUNFLGtCQUFNLFFBQVEsQ0FBQyxTQUdoQjtRQUZDLEtBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLEtBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDOztJQUNwQixDQUFDO0lBRUQ7O09BRUc7SUFDTyxxQ0FBVSxHQUFwQixVQUFxQixLQUFRO1FBQzNCLE9BQU8sSUFBSSwwQkFBZ0IsQ0FBSSxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDTyx3REFBNkIsR0FBdkMsVUFDRSxVQUErQixFQUMvQixRQUE2QixFQUM3QixTQUE4QjtRQUU5QixVQUFVLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUM1QixVQUFVLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUUzQixJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDbkIsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1NBQ25DO1FBQ0QsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ25CLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNPLHlDQUFjLEdBQXhCLFVBQXlCLElBQXlCO1FBQ2hELElBQUssQ0FBQyxJQUFLLENBQUMsSUFBSSxHQUFHLElBQUssQ0FBQyxJQUFJLENBQUM7UUFDOUIsSUFBSyxDQUFDLElBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSyxDQUFDLElBQUksQ0FBQztRQUM5QixJQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQ7O09BRUc7SUFDTyxrQ0FBTyxHQUFqQjs7UUFDRSxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsSUFBSSxLQUFJLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxvQ0FBUyxHQUFuQjs7UUFDRSxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsSUFBSSxLQUFJLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxrQ0FBTyxHQUFkO1FBQ0UsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFVixPQUFPLFdBQVcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN0QyxJQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2pDLElBQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFFakMsV0FBVyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7WUFDM0IsV0FBVyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7WUFFM0IsQ0FBQyxFQUFFLENBQUM7WUFDSixXQUFXLEdBQUcsT0FBTyxDQUFDO1NBQ3ZCO1FBRUQsSUFBSSxXQUFXLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBQ0gsdUJBQUM7QUFBRCxDQUFDLEFBekZELENBQWlELDRCQUFrQixHQXlGbEUifQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import IBiDirectIterator from "../../../types/IBiDirectIterator";
|
|
2
|
+
import IBiDirectIterable from "../../../types/IBiDirectIterable";
|
|
3
|
+
import DoubleLinkedList from "./DoubleLinkedList";
|
|
4
|
+
/**
|
|
5
|
+
* @inheritDoc
|
|
6
|
+
*/
|
|
7
|
+
export default class IterableDoubleLinkedList<T> extends DoubleLinkedList<T> implements IBiDirectIterable<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): IBiDirectIterator<T>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
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 DoubleLinkedList_1 = require("./DoubleLinkedList");
|
|
18
|
+
/**
|
|
19
|
+
* @inheritDoc
|
|
20
|
+
*/
|
|
21
|
+
var IterableDoubleLinkedList = /** @class */ (function (_super) {
|
|
22
|
+
__extends(IterableDoubleLinkedList, _super);
|
|
23
|
+
/**
|
|
24
|
+
* @inheritDoc
|
|
25
|
+
*/
|
|
26
|
+
function IterableDoubleLinkedList(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
|
+
IterableDoubleLinkedList.prototype.iterator = function (fromIndex) {
|
|
35
|
+
if (fromIndex === void 0) { fromIndex = 0; }
|
|
36
|
+
var head = this._head;
|
|
37
|
+
var tail = this._tail;
|
|
38
|
+
var activeNode = this.getNodeByIndex(fromIndex);
|
|
39
|
+
var iterator = {
|
|
40
|
+
/**
|
|
41
|
+
* @inheritDoc
|
|
42
|
+
*/
|
|
43
|
+
current: function () {
|
|
44
|
+
return activeNode.data;
|
|
45
|
+
},
|
|
46
|
+
/**
|
|
47
|
+
* @inheritDoc
|
|
48
|
+
*/
|
|
49
|
+
hasNext: function () {
|
|
50
|
+
return Boolean(activeNode.next) && activeNode !== head;
|
|
51
|
+
},
|
|
52
|
+
/**
|
|
53
|
+
* @inheritDoc
|
|
54
|
+
*/
|
|
55
|
+
hasPrev: function () {
|
|
56
|
+
return Boolean(activeNode.prev) && activeNode !== tail;
|
|
57
|
+
},
|
|
58
|
+
/**
|
|
59
|
+
* @inheritDoc
|
|
60
|
+
* @throws {IsNotFoundException} when next element does not exist
|
|
61
|
+
*/
|
|
62
|
+
next: function () {
|
|
63
|
+
if (!iterator.hasNext()) {
|
|
64
|
+
throw new IsNotFoundException_1.default("Next element does not exist");
|
|
65
|
+
}
|
|
66
|
+
activeNode = activeNode.next;
|
|
67
|
+
return activeNode.data;
|
|
68
|
+
},
|
|
69
|
+
/**
|
|
70
|
+
* @inheritDoc
|
|
71
|
+
* @throws {IsNotFoundException} when prev element does not exists
|
|
72
|
+
*/
|
|
73
|
+
prev: function () {
|
|
74
|
+
if (!iterator.hasPrev()) {
|
|
75
|
+
throw new IsNotFoundException_1.default("Prev element does not exist");
|
|
76
|
+
}
|
|
77
|
+
activeNode = activeNode.prev;
|
|
78
|
+
return activeNode.data;
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
return iterator;
|
|
82
|
+
};
|
|
83
|
+
return IterableDoubleLinkedList;
|
|
84
|
+
}(DoubleLinkedList_1.default));
|
|
85
|
+
exports.default = IterableDoubleLinkedList;
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXRlcmFibGVEb3VibGVMaW5rZWRMaXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9kYXRhLXN0cnVjdHVyZXMvTGlua2VkTGlzdC9Eb3VibGVMaW5rZWRMaXN0L0l0ZXJhYmxlRG91YmxlTGlua2VkTGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFFQSwrRUFBMEU7QUFFMUUsdURBQWtEO0FBRWxEOztHQUVHO0FBQ0g7SUFDVSw0Q0FBbUI7SUFFM0I7O09BRUc7SUFDSCxrQ0FBbUIsUUFBaUI7ZUFDbEMsa0JBQU0sUUFBUSxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksMkNBQVEsR0FBZixVQUFnQixTQUFhO1FBQWIsMEJBQUEsRUFBQSxhQUFhO1FBQzNCLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBd0IsQ0FBQztRQUV2RSxJQUFNLFFBQVEsR0FBeUI7WUFDckM7O2VBRUc7WUFDSCxPQUFPLEVBQUU7Z0JBQ1AsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ3pCLENBQUM7WUFDRDs7ZUFFRztZQUNILE9BQU8sRUFBUDtnQkFDRSxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxLQUFLLElBQUksQ0FBQztZQUN6RCxDQUFDO1lBQ0Q7O2VBRUc7WUFDSCxPQUFPLEVBQVA7Z0JBQ0UsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsS0FBSyxJQUFJLENBQUM7WUFDekQsQ0FBQztZQUNEOzs7ZUFHRztZQUNILElBQUksRUFBRTtnQkFDSixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUN2QixNQUFNLElBQUksNkJBQW1CLENBQUMsNkJBQTZCLENBQUMsQ0FBQztpQkFDOUQ7Z0JBQ0QsVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFLLENBQUM7Z0JBQzlCLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQztZQUN6QixDQUFDO1lBQ0Q7OztlQUdHO1lBQ0gsSUFBSSxFQUFFO2dCQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUU7b0JBQ3ZCLE1BQU0sSUFBSSw2QkFBbUIsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO2lCQUM5RDtnQkFDRCxVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUssQ0FBQztnQkFDOUIsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ3pCLENBQUM7U0FDRixDQUFDO1FBRUYsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUNILCtCQUFDO0FBQUQsQ0FBQyxBQWpFRCxDQUNVLDBCQUFnQixHQWdFekIifQ==
|
|
@@ -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>
|
|
8
|
+
export default class SingleLinkedList<T> extends AbstractLinkedList<T> {
|
|
11
9
|
/**
|
|
12
10
|
* Override types
|
|
13
11
|
*/
|
|
@@ -45,10 +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
|
-
* @throws {CollectionIsEmptyException} when list is empty
|
|
51
|
-
* @throws {IndexOutOfBoundsException} when given index is out of range
|
|
52
|
-
*/
|
|
53
|
-
iterator(fromIndex?: number): IIterator<T>;
|
|
54
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,43 +97,7 @@ var SingleLinkedList = /** @class */ (function (_super) {
|
|
|
98
97
|
this._tail = currentNode.next;
|
|
99
98
|
}
|
|
100
99
|
};
|
|
101
|
-
/**
|
|
102
|
-
* List iterator
|
|
103
|
-
* @throws {CollectionIsEmptyException} when list is empty
|
|
104
|
-
* @throws {IndexOutOfBoundsException} when given index is out of range
|
|
105
|
-
*/
|
|
106
|
-
SingleLinkedList.prototype.iterator = function (fromIndex) {
|
|
107
|
-
if (fromIndex === void 0) { fromIndex = 0; }
|
|
108
|
-
var head = this._head;
|
|
109
|
-
var activeNode = this.getNodeByIndex(fromIndex);
|
|
110
|
-
var iterator = {
|
|
111
|
-
/**
|
|
112
|
-
* @inheritDoc
|
|
113
|
-
*/
|
|
114
|
-
current: function () {
|
|
115
|
-
return activeNode.data;
|
|
116
|
-
},
|
|
117
|
-
/**
|
|
118
|
-
* @inheritDoc
|
|
119
|
-
*/
|
|
120
|
-
hasNext: function () {
|
|
121
|
-
return Boolean(activeNode.next) && activeNode !== head;
|
|
122
|
-
},
|
|
123
|
-
/**
|
|
124
|
-
* @inheritDoc
|
|
125
|
-
* @throws {IsNotFoundException} when next element does not exist
|
|
126
|
-
*/
|
|
127
|
-
next: function () {
|
|
128
|
-
if (!iterator.hasNext()) {
|
|
129
|
-
throw new IsNotFoundException_1.default("Next element does not exist");
|
|
130
|
-
}
|
|
131
|
-
activeNode = activeNode.next;
|
|
132
|
-
return activeNode.data;
|
|
133
|
-
},
|
|
134
|
-
};
|
|
135
|
-
return iterator;
|
|
136
|
-
};
|
|
137
100
|
return SingleLinkedList;
|
|
138
101
|
}(AbstractLinkedList_1.default));
|
|
139
102
|
exports.default = SingleLinkedList;
|
|
140
|
-
//# 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=
|
package/lib/app/utils.d.ts
CHANGED
|
@@ -19,14 +19,6 @@ export declare const randomizeNumberInRange: (min: number, max: number) => numbe
|
|
|
19
19
|
* Round number to given digits after
|
|
20
20
|
*/
|
|
21
21
|
export declare const roundNumber: (num: number, digits?: number) => number;
|
|
22
|
-
/**
|
|
23
|
-
* Get time execution of function
|
|
24
|
-
*/
|
|
25
|
-
export declare const perf: (fn: () => void) => number;
|
|
26
|
-
/**
|
|
27
|
-
* Get time execution of function
|
|
28
|
-
*/
|
|
29
|
-
export declare const perfAsync: (fn: () => void) => Promise<number>;
|
|
30
22
|
/**
|
|
31
23
|
* Check is given array a matrix N*N
|
|
32
24
|
*/
|
package/lib/app/utils.js
CHANGED
|
@@ -1,43 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.randomizeArray = exports.checkIsArrayMatrix = exports.
|
|
40
|
-
var perf_hooks_1 = require("perf_hooks");
|
|
3
|
+
exports.randomizeArray = exports.checkIsArrayMatrix = exports.roundNumber = exports.randomizeNumberInRange = exports.swapArrayItems = exports.getMinIndexFromIndex = exports.getMinIndex = void 0;
|
|
41
4
|
/**
|
|
42
5
|
* Will find min value in the whole array and return its index
|
|
43
6
|
*/
|
|
@@ -76,23 +39,6 @@ exports.roundNumber = function (num, digits) {
|
|
|
76
39
|
if (digits === void 0) { digits = 3; }
|
|
77
40
|
return Math.round(num * Math.pow(10, digits)) / Math.pow(10, digits);
|
|
78
41
|
};
|
|
79
|
-
/**
|
|
80
|
-
* Get time execution of function
|
|
81
|
-
*/
|
|
82
|
-
exports.perf = function (fn) {
|
|
83
|
-
var perfStart = perf_hooks_1.performance.now();
|
|
84
|
-
fn();
|
|
85
|
-
var perfEnd = perf_hooks_1.performance.now();
|
|
86
|
-
return perfEnd - perfStart;
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* Get time execution of function
|
|
90
|
-
*/
|
|
91
|
-
exports.perfAsync = function (fn) { return __awaiter(void 0, void 0, void 0, function () {
|
|
92
|
-
return __generator(this, function (_a) {
|
|
93
|
-
return [2 /*return*/, Promise.resolve(exports.perf(fn))];
|
|
94
|
-
});
|
|
95
|
-
}); };
|
|
96
42
|
/**
|
|
97
43
|
* Check is given array a matrix N*N
|
|
98
44
|
*/
|
|
@@ -112,4 +58,4 @@ exports.checkIsArrayMatrix = function (array) {
|
|
|
112
58
|
exports.randomizeArray = function (length, max) {
|
|
113
59
|
return new Array(length).fill(0).map(function () { return Math.round(Math.random() * max); });
|
|
114
60
|
};
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ1UsUUFBQSxXQUFXLEdBQUcsVUFBQyxHQUFrQjtJQUM1QyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUs7UUFDdEMsT0FBTyxJQUFJLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNqRCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsVUFDbEMsR0FBa0IsRUFDbEIsU0FBaUI7SUFFakIsT0FBTyxTQUFTLEdBQUcsbUJBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxjQUFjLEdBQUcsVUFDNUIsR0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFVBQWtCO0lBRWxCLElBQUksU0FBUyxLQUFLLFVBQVUsRUFBRTtRQUM1QixJQUFNLElBQUksR0FBTSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0IsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDO0tBQ3hCO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLHNCQUFzQixHQUFHLFVBQUMsR0FBVyxFQUFFLEdBQVc7SUFDN0QsT0FBQSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUc7QUFBN0MsQ0FBNkMsQ0FBQztBQUVoRDs7R0FFRztBQUNVLFFBQUEsV0FBVyxHQUFHLFVBQUMsR0FBVyxFQUFFLE1BQVU7SUFBVix1QkFBQSxFQUFBLFVBQVU7SUFDakQsT0FBQSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxTQUFBLEVBQUUsRUFBSSxNQUFNLENBQUEsQ0FBQyxHQUFHLFNBQUEsRUFBRSxFQUFJLE1BQU0sQ0FBQTtBQUE3QyxDQUE2QyxDQUFDO0FBRWhEOztHQUVHO0FBQ1UsUUFBQSxrQkFBa0IsR0FBRyxVQUFJLEtBQXNCO0lBQzFELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3JDLElBQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixJQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUMzRCxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDdEIsT0FBTyxLQUFLLENBQUM7U0FDZDtLQUNGO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsY0FBYyxHQUFHLFVBQUMsTUFBYyxFQUFFLEdBQVc7SUFDeEQsT0FBQSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQU0sT0FBQSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBL0IsQ0FBK0IsQ0FBQztBQUFwRSxDQUFvRSxDQUFDIn0=
|
|
@@ -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/utils.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { memoize } from "../app/algorithms/memoize";
|
|
2
|
-
import { getMinIndex, getMinIndexFromIndex,
|
|
3
|
-
export {
|
|
2
|
+
import { getMinIndex, getMinIndexFromIndex, randomizeNumberInRange, roundNumber, swapArrayItems } from "../app/utils";
|
|
3
|
+
export { getMinIndex, getMinIndexFromIndex, memoize, roundNumber, randomizeNumberInRange, swapArrayItems, };
|
package/lib/exports/utils.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.swapArrayItems = exports.randomizeNumberInRange = exports.roundNumber = exports.
|
|
3
|
+
exports.swapArrayItems = exports.randomizeNumberInRange = exports.roundNumber = exports.memoize = exports.getMinIndexFromIndex = exports.getMinIndex = void 0;
|
|
4
4
|
var memoize_1 = require("../app/algorithms/memoize");
|
|
5
5
|
Object.defineProperty(exports, "memoize", { enumerable: true, get: function () { return memoize_1.memoize; } });
|
|
6
6
|
var utils_1 = require("../app/utils");
|
|
7
7
|
Object.defineProperty(exports, "getMinIndex", { enumerable: true, get: function () { return utils_1.getMinIndex; } });
|
|
8
8
|
Object.defineProperty(exports, "getMinIndexFromIndex", { enumerable: true, get: function () { return utils_1.getMinIndexFromIndex; } });
|
|
9
|
-
Object.defineProperty(exports, "perf", { enumerable: true, get: function () { return utils_1.perf; } });
|
|
10
9
|
Object.defineProperty(exports, "randomizeNumberInRange", { enumerable: true, get: function () { return utils_1.randomizeNumberInRange; } });
|
|
11
10
|
Object.defineProperty(exports, "roundNumber", { enumerable: true, get: function () { return utils_1.roundNumber; } });
|
|
12
11
|
Object.defineProperty(exports, "swapArrayItems", { enumerable: true, get: function () { return utils_1.swapArrayItems; } });
|
|
13
|
-
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhwb3J0cy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBb0Q7QUFlbEQsd0ZBZk8saUJBQU8sT0FlUDtBQWRULHNDQVFzQjtBQUlwQiw0RkFYQSxtQkFBVyxPQVdBO0FBQ1gscUdBWEEsNEJBQW9CLE9BV0E7QUFGcEIscUZBUkEsWUFBSSxPQVFBO0FBTUosdUdBYkEsOEJBQXNCLE9BYUE7QUFEdEIsNEZBWEEsbUJBQVcsT0FXQTtBQUVYLCtGQVpBLHNCQUFjLE9BWUE7QUFIZCwwRkFSQSxpQkFBUyxPQVFBIn0=
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhwb3J0cy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBb0Q7QUFZbEQsd0ZBWk8saUJBQU8sT0FZUDtBQVhULHNDQU1zQjtBQUdwQiw0RkFSQSxtQkFBVyxPQVFBO0FBQ1gscUdBUkEsNEJBQW9CLE9BUUE7QUFHcEIsdUdBVkEsOEJBQXNCLE9BVUE7QUFEdEIsNEZBUkEsbUJBQVcsT0FRQTtBQUVYLCtGQVRBLHNCQUFjLE9BU0EifQ==
|
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";
|
|
@@ -43,10 +45,10 @@ import { mergeSort } from "./app/algorithms/sorts/merge-sort";
|
|
|
43
45
|
import { insertionSort } from "./app/algorithms/sorts/insertion-sort";
|
|
44
46
|
import { quickSort } from "./app/algorithms/sorts/quick-sort";
|
|
45
47
|
import { memoize } from "./app/algorithms/memoize";
|
|
46
|
-
import { getMinIndex, getMinIndexFromIndex,
|
|
47
|
-
export {
|
|
48
|
+
import { getMinIndex, getMinIndexFromIndex, randomizeNumberInRange, roundNumber, swapArrayItems } from "./app/utils";
|
|
49
|
+
export { getMinIndex, getMinIndexFromIndex, memoize, 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, };
|
package/lib/exports.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IndexOutOfBoundsException = exports.IllegalStateException = exports.IllegalArgumentException = exports.ValueOutOfRangeException = exports.IsAlreadyExistsException = exports.IsNotFoundException = exports.CollectionIsFullException = exports.CollectionIsEmptyException = exports.transposeDirectedGraph = exports.GraphIteratorDijkstra = exports.GraphIteratorBFS = exports.BFSIterationStrategy = exports.DFSIterationStrategy = exports.DijkstraIterationStrategy = exports.shortestPath = exports.hasPath = exports.presenterAdjacencyMatrix = exports.presenterAdjacencyLists = exports.GraphIteratorDFS = exports.transposeMatrix = exports.fibonacci = exports.memoizedFibonacci = exports.memoizedFactorial = exports.factorial = exports.binarySearch = exports.generateRandomGraph = exports.createLinkedList = exports.createBinaryTree = exports.createGraphFromMatrix = exports.createGraph = exports.EDGE_EXISTS_STATE = exports.EDGE_NOT_EXISTS_STATE = exports.HashTable = exports.LoopedArray = exports.UndirectedGraph = exports.DirectedGraph = exports.BinarySearchTree = exports.RandBinarySearchTree = exports.DoubleLinkedList = exports.SingleLinkedList = exports.Queue = exports.Stack = exports.quickSort = exports.selectSort = exports.mergeSort = exports.insertionSort = exports.bubbleSort = exports.swapArrayItems = exports.randomizeNumberInRange = exports.roundNumber = exports.
|
|
3
|
+
exports.IndexOutOfBoundsException = exports.IllegalStateException = exports.IllegalArgumentException = exports.ValueOutOfRangeException = exports.IsAlreadyExistsException = exports.IsNotFoundException = exports.CollectionIsFullException = exports.CollectionIsEmptyException = exports.transposeDirectedGraph = exports.GraphIteratorDijkstra = exports.GraphIteratorBFS = exports.BFSIterationStrategy = exports.DFSIterationStrategy = exports.DijkstraIterationStrategy = exports.shortestPath = exports.hasPath = exports.presenterAdjacencyMatrix = exports.presenterAdjacencyLists = exports.GraphIteratorDFS = exports.transposeMatrix = exports.fibonacci = exports.memoizedFibonacci = exports.memoizedFactorial = exports.factorial = exports.binarySearch = exports.generateRandomGraph = exports.createLinkedList = exports.createBinaryTree = exports.createGraphFromMatrix = exports.createGraph = exports.EDGE_EXISTS_STATE = exports.EDGE_NOT_EXISTS_STATE = exports.HashTable = exports.LoopedArray = exports.UndirectedGraph = exports.DirectedGraph = exports.BinarySearchTree = exports.RandBinarySearchTree = exports.IterableDoubleLinkedList = exports.DoubleLinkedList = exports.IterableSingleLinkedList = exports.SingleLinkedList = exports.Queue = exports.Stack = exports.quickSort = exports.selectSort = exports.mergeSort = exports.insertionSort = exports.bubbleSort = exports.swapArrayItems = exports.randomizeNumberInRange = exports.roundNumber = exports.memoize = exports.getMinIndexFromIndex = exports.getMinIndex = void 0;
|
|
4
4
|
var factorial_1 = require("./app/algorithms/factorial");
|
|
5
5
|
Object.defineProperty(exports, "factorial", { enumerable: true, get: function () { return factorial_1.factorial; } });
|
|
6
6
|
Object.defineProperty(exports, "memoizedFactorial", { enumerable: true, get: function () { return factorial_1.memoizedFactorial; } });
|
|
@@ -60,6 +60,10 @@ var RandBinarySearchTree_1 = require("./app/data-structures/BinaryTree/RandBinar
|
|
|
60
60
|
exports.RandBinarySearchTree = RandBinarySearchTree_1.default;
|
|
61
61
|
var DoubleLinkedList_1 = require("./app/data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList");
|
|
62
62
|
exports.DoubleLinkedList = DoubleLinkedList_1.default;
|
|
63
|
+
var IterableSingleLinkedList_1 = require("./app/data-structures/LinkedList/SingleLinkedList/IterableSingleLinkedList");
|
|
64
|
+
exports.IterableSingleLinkedList = IterableSingleLinkedList_1.default;
|
|
65
|
+
var IterableDoubleLinkedList_1 = require("./app/data-structures/LinkedList/DoubleLinkedList/IterableDoubleLinkedList");
|
|
66
|
+
exports.IterableDoubleLinkedList = IterableDoubleLinkedList_1.default;
|
|
63
67
|
var SingleLinkedList_1 = require("./app/data-structures/LinkedList/SingleLinkedList/SingleLinkedList");
|
|
64
68
|
exports.SingleLinkedList = SingleLinkedList_1.default;
|
|
65
69
|
var LoopedArray_1 = require("./app/data-structures/LoopedArray/LoopedArray");
|
|
@@ -97,9 +101,7 @@ Object.defineProperty(exports, "memoize", { enumerable: true, get: function () {
|
|
|
97
101
|
var utils_1 = require("./app/utils");
|
|
98
102
|
Object.defineProperty(exports, "getMinIndex", { enumerable: true, get: function () { return utils_1.getMinIndex; } });
|
|
99
103
|
Object.defineProperty(exports, "getMinIndexFromIndex", { enumerable: true, get: function () { return utils_1.getMinIndexFromIndex; } });
|
|
100
|
-
Object.defineProperty(exports, "perf", { enumerable: true, get: function () { return utils_1.perf; } });
|
|
101
104
|
Object.defineProperty(exports, "randomizeNumberInRange", { enumerable: true, get: function () { return utils_1.randomizeNumberInRange; } });
|
|
102
105
|
Object.defineProperty(exports, "roundNumber", { enumerable: true, get: function () { return utils_1.roundNumber; } });
|
|
103
106
|
Object.defineProperty(exports, "swapArrayItems", { enumerable: true, get: function () { return utils_1.swapArrayItems; } });
|
|
104
|
-
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUEwRTtBQTZGeEUsMEZBN0ZPLHFCQUFTLE9BNkZQO0FBQ1Qsa0dBOUZrQiw2QkFBaUIsT0E4RmxCO0FBN0ZuQix3REFBMEU7QUErRnhFLDBGQS9GTyxxQkFBUyxPQStGUDtBQURULGtHQTlGa0IsNkJBQWlCLE9BOEZsQjtBQTdGbkIsZ0VBQThEO0FBMEY1RCw2RkExRk8sNEJBQVksT0EwRlA7QUF6RmQsc0VBQW9FO0FBOEZsRSxnR0E5Rk8sa0NBQWUsT0E4RlA7QUE3RmpCLG9HQUFtRztBQXdHakcsdUdBeEdPLCtDQUFzQixPQXdHUDtBQXZHeEIsc0dBQWlHO0FBb0cvRiwrQkFwR0ssOEJBQW9CLENBb0dMO0FBbkd0QixzR0FBaUc7QUFrRy9GLCtCQWxHSyw4QkFBb0IsQ0FrR0w7QUFqR3RCLGdIQUEyRztBQWdHekcsb0NBaEdLLG1DQUF5QixDQWdHTDtBQS9GM0IscUZBQWdGO0FBa0c5RSwyQkFsR0ssMEJBQWdCLENBa0dMO0FBakdsQixxRkFBZ0Y7QUF5RjlFLDJCQXpGSywwQkFBZ0IsQ0F5Rkw7QUF4RmxCLCtGQUEwRjtBQWlHeEYsZ0NBakdLLCtCQUFxQixDQWlHTDtBQWhHdkIsb0VBQW1FO0FBMEZqRSx3RkExRk8saUJBQU8sT0EwRlA7QUF6RlQsOEVBQTZFO0FBMEYzRSw2RkExRk8sMkJBQVksT0EwRlA7QUF6RmQsc0dBQXFHO0FBdUZuRyx5R0F2Rk8sbURBQXdCLE9BdUZQO0FBdEYxQixvR0FBbUc7QUFxRmpHLHdHQXJGTyxpREFBdUIsT0FxRlA7QUFwRnpCLGdHQUErRjtBQXlFN0Ysb0dBekVPLHlDQUFtQixPQXlFUDtBQXhFckIsK0ZBQThGO0FBdUU1RixpR0F2RU8sbUNBQWdCLE9BdUVQO0FBdEVsQiwrRkFBOEY7QUFxRTVGLGlHQXJFTyxtQ0FBZ0IsT0FxRVA7QUFwRWxCLGdGQUErRTtBQWtFN0UsNEZBbEVPLHlCQUFXLE9Ba0VQO0FBakViLG9HQUFtRztBQWtFakcsc0dBbEVPLDZDQUFxQixPQWtFUDtBQWpFdkIsNkNBQTJFO0FBNkQzQyxrR0E3RHZCLDZCQUFpQixPQTZEdUI7QUFBeEMsc0dBN0RtQixpQ0FBcUIsT0E2RG5CO0FBNUQ5QiwyREFBc0Q7QUFpRHBELGdCQWpESyxlQUFLLENBaURMO0FBaERQLDJEQUFzRDtBQStDcEQsZ0JBL0NLLGVBQUssQ0ErQ0w7QUE5Q1AsK0VBQTBFO0FBcUR4RSwwQkFyREsseUJBQWUsQ0FxREw7QUFwRGpCLDJFQUFzRTtBQW1EcEUsd0JBbkRLLHVCQUFhLENBbURMO0FBbERmLHVHQUFrRztBQWlEaEcsMkJBakRLLDBCQUFnQixDQWlETDtBQWhEbEIsbUhBQThHO0FBK0M1RywrQkEvQ0ssOEJBQW9CLENBK0NMO0FBOUN0Qix1R0FBa0c7QUE2Q2hHLDJCQTdDSywwQkFBZ0IsQ0E2Q0w7QUE1Q2xCLHVHQUFrRztBQTJDaEcsMkJBM0NLLDBCQUFnQixDQTJDTDtBQTFDbEIsNkVBQXdFO0FBZ0R0RSxzQkFoREsscUJBQVcsQ0FnREw7QUEvQ2IsdUVBQWtFO0FBZ0RoRSxvQkFoREssbUJBQVMsQ0FnREw7QUEvQ1gsNEVBQXVFO0FBbUZyRSw4QkFuRkssNkJBQW1CLENBbUZMO0FBbEZyQixzRkFBaUY7QUFtRi9FLG1DQW5GSyxrQ0FBd0IsQ0FtRkw7QUFsRjFCLHNGQUFpRjtBQW1GL0UsbUNBbkZLLGtDQUF3QixDQW1GTDtBQWxGMUIsMkZBQXNGO0FBbUZwRixtQ0FuRkssa0NBQXdCLENBbUZMO0FBbEYxQixxRkFBZ0Y7QUFtRjlFLGdDQW5GSywrQkFBcUIsQ0FtRkw7QUFsRnZCLHdGQUFtRjtBQW1GakYsb0NBbkZLLG1DQUF5QixDQW1GTDtBQWxGM0IsMEZBQXFGO0FBMkVuRixxQ0EzRUssb0NBQTBCLENBMkVMO0FBMUU1Qix3RkFBbUY7QUEyRWpGLG9DQTNFSyxtQ0FBeUIsQ0EyRUw7QUExRTNCLGtFQUFnRTtBQTJCdkQsMkZBM0JBLHdCQUFVLE9BMkJBO0FBMUJuQixrRUFBZ0U7QUEwQmpCLDJGQTFCdEMsd0JBQVUsT0EwQnNDO0FBekJ6RCxnRUFBOEQ7QUF5QjFCLDBGQXpCM0Isc0JBQVMsT0F5QjJCO0FBeEI3Qyx3RUFBc0U7QUF3QmpELDhGQXhCWiw4QkFBYSxPQXdCWTtBQXZCbEMsZ0VBQThEO0FBdUJILDBGQXZCbEQsc0JBQVMsT0F1QmtEO0FBdEJwRSxvREFBbUQ7QUFlakQsd0ZBZk8saUJBQU8sT0FlUDtBQWRULHFDQVFxQjtBQUluQiw0RkFYQSxtQkFBVyxPQVdBO0FBQ1gscUdBWEEsNEJBQW9CLE9BV0E7QUFGcEIscUZBUkEsWUFBSSxPQVFBO0FBTUosdUdBYkEsOEJBQXNCLE9BYUE7QUFEdEIsNEZBWEEsbUJBQVcsT0FXQTtBQUVYLCtGQVpBLHNCQUFjLE9BWUE7QUFIZCwwRkFSQSxpQkFBUyxPQVFBIn0=
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUEwRTtBQTZGeEUsMEZBN0ZPLHFCQUFTLE9BNkZQO0FBQ1Qsa0dBOUZrQiw2QkFBaUIsT0E4RmxCO0FBN0ZuQix3REFBMEU7QUErRnhFLDBGQS9GTyxxQkFBUyxPQStGUDtBQURULGtHQTlGa0IsNkJBQWlCLE9BOEZsQjtBQTdGbkIsZ0VBQThEO0FBMEY1RCw2RkExRk8sNEJBQVksT0EwRlA7QUF6RmQsc0VBQW9FO0FBOEZsRSxnR0E5Rk8sa0NBQWUsT0E4RlA7QUE3RmpCLG9HQUFtRztBQXdHakcsdUdBeEdPLCtDQUFzQixPQXdHUDtBQXZHeEIsc0dBQWlHO0FBb0cvRiwrQkFwR0ssOEJBQW9CLENBb0dMO0FBbkd0QixzR0FBaUc7QUFrRy9GLCtCQWxHSyw4QkFBb0IsQ0FrR0w7QUFqR3RCLGdIQUEyRztBQWdHekcsb0NBaEdLLG1DQUF5QixDQWdHTDtBQS9GM0IscUZBQWdGO0FBa0c5RSwyQkFsR0ssMEJBQWdCLENBa0dMO0FBakdsQixxRkFBZ0Y7QUF5RjlFLDJCQXpGSywwQkFBZ0IsQ0F5Rkw7QUF4RmxCLCtGQUEwRjtBQWlHeEYsZ0NBakdLLCtCQUFxQixDQWlHTDtBQWhHdkIsb0VBQW1FO0FBMEZqRSx3RkExRk8saUJBQU8sT0EwRlA7QUF6RlQsOEVBQTZFO0FBMEYzRSw2RkExRk8sMkJBQVksT0EwRlA7QUF6RmQsc0dBQXFHO0FBdUZuRyx5R0F2Rk8sbURBQXdCLE9BdUZQO0FBdEYxQixvR0FBbUc7QUFxRmpHLHdHQXJGTyxpREFBdUIsT0FxRlA7QUFwRnpCLGdHQUErRjtBQXlFN0Ysb0dBekVPLHlDQUFtQixPQXlFUDtBQXhFckIsK0ZBQThGO0FBdUU1RixpR0F2RU8sbUNBQWdCLE9BdUVQO0FBdEVsQiwrRkFBOEY7QUFxRTVGLGlHQXJFTyxtQ0FBZ0IsT0FxRVA7QUFwRWxCLGdGQUErRTtBQWtFN0UsNEZBbEVPLHlCQUFXLE9Ba0VQO0FBakViLG9HQUFtRztBQWtFakcsc0dBbEVPLDZDQUFxQixPQWtFUDtBQWpFdkIsNkNBQTJFO0FBNkQzQyxrR0E3RHZCLDZCQUFpQixPQTZEdUI7QUFBeEMsc0dBN0RtQixpQ0FBcUIsT0E2RG5CO0FBNUQ5QiwyREFBc0Q7QUErQ3BELGdCQS9DSyxlQUFLLENBK0NMO0FBOUNQLDJEQUFzRDtBQTZDcEQsZ0JBN0NLLGVBQUssQ0E2Q0w7QUE1Q1AsK0VBQTBFO0FBcUR4RSwwQkFyREsseUJBQWUsQ0FxREw7QUFwRGpCLDJFQUFzRTtBQW1EcEUsd0JBbkRLLHVCQUFhLENBbURMO0FBbERmLHVHQUFrRztBQWlEaEcsMkJBakRLLDBCQUFnQixDQWlETDtBQWhEbEIsbUhBQThHO0FBK0M1RywrQkEvQ0ssOEJBQW9CLENBK0NMO0FBOUN0Qix1R0FBa0c7QUE0Q2hHLDJCQTVDSywwQkFBZ0IsQ0E0Q0w7QUEzQ2xCLHVIQUFrSDtBQTBDaEgsbUNBMUNLLGtDQUF3QixDQTBDTDtBQXpDMUIsdUhBQWtIO0FBMkNoSCxtQ0EzQ0ssa0NBQXdCLENBMkNMO0FBMUMxQix1R0FBa0c7QUF1Q2hHLDJCQXZDSywwQkFBZ0IsQ0F1Q0w7QUF0Q2xCLDZFQUF3RTtBQThDdEUsc0JBOUNLLHFCQUFXLENBOENMO0FBN0NiLHVFQUFrRTtBQThDaEUsb0JBOUNLLG1CQUFTLENBOENMO0FBN0NYLDRFQUF1RTtBQWlGckUsOEJBakZLLDZCQUFtQixDQWlGTDtBQWhGckIsc0ZBQWlGO0FBaUYvRSxtQ0FqRkssa0NBQXdCLENBaUZMO0FBaEYxQixzRkFBaUY7QUFpRi9FLG1DQWpGSyxrQ0FBd0IsQ0FpRkw7QUFoRjFCLDJGQUFzRjtBQWlGcEYsbUNBakZLLGtDQUF3QixDQWlGTDtBQWhGMUIscUZBQWdGO0FBaUY5RSxnQ0FqRkssK0JBQXFCLENBaUZMO0FBaEZ2Qix3RkFBbUY7QUFpRmpGLG9DQWpGSyxtQ0FBeUIsQ0FpRkw7QUFoRjNCLDBGQUFxRjtBQXlFbkYscUNBekVLLG9DQUEwQixDQXlFTDtBQXhFNUIsd0ZBQW1GO0FBeUVqRixvQ0F6RUssbUNBQXlCLENBeUVMO0FBeEUzQixrRUFBZ0U7QUF1QnZELDJGQXZCQSx3QkFBVSxPQXVCQTtBQXRCbkIsa0VBQWdFO0FBc0JqQiwyRkF0QnRDLHdCQUFVLE9Bc0JzQztBQXJCekQsZ0VBQThEO0FBcUIxQiwwRkFyQjNCLHNCQUFTLE9BcUIyQjtBQXBCN0Msd0VBQXNFO0FBb0JqRCw4RkFwQlosOEJBQWEsT0FvQlk7QUFuQmxDLGdFQUE4RDtBQW1CSCwwRkFuQmxELHNCQUFTLE9BbUJrRDtBQWxCcEUsb0RBQW1EO0FBWWpELHdGQVpPLGlCQUFPLE9BWVA7QUFYVCxxQ0FNcUI7QUFHbkIsNEZBUkEsbUJBQVcsT0FRQTtBQUNYLHFHQVJBLDRCQUFvQixPQVFBO0FBR3BCLHVHQVZBLDhCQUFzQixPQVVBO0FBRHRCLDRGQVJBLG1CQUFXLE9BUUE7QUFFWCwrRkFUQSxzQkFBYyxPQVNBIn0=
|
package/package.json
CHANGED
|
@@ -14,6 +14,31 @@
|
|
|
14
14
|
"type": "git",
|
|
15
15
|
"url": "https://github.com/raikuxq/lab-ts-algorithms"
|
|
16
16
|
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"algorithms",
|
|
19
|
+
"data structures",
|
|
20
|
+
"graph",
|
|
21
|
+
"undirected graph",
|
|
22
|
+
"directed graph",
|
|
23
|
+
"breadth-first",
|
|
24
|
+
"depth-first",
|
|
25
|
+
"BFS",
|
|
26
|
+
"DFS",
|
|
27
|
+
"shortest path",
|
|
28
|
+
"binary search tree",
|
|
29
|
+
"randomized binary search tree",
|
|
30
|
+
"BST",
|
|
31
|
+
"dijkstra",
|
|
32
|
+
"quick sort",
|
|
33
|
+
"merge sort",
|
|
34
|
+
"binary search",
|
|
35
|
+
"linked list",
|
|
36
|
+
"doubly linked list",
|
|
37
|
+
"singly linked list",
|
|
38
|
+
"stack",
|
|
39
|
+
"queue",
|
|
40
|
+
"hash table"
|
|
41
|
+
],
|
|
17
42
|
"main": "./lib/src/exports.js",
|
|
18
43
|
"types": "./lib/src/exports.d.ts",
|
|
19
44
|
"files": [
|
|
@@ -43,5 +68,5 @@
|
|
|
43
68
|
"vuepress": "^2.0.0-beta.48"
|
|
44
69
|
},
|
|
45
70
|
"dependencies": {},
|
|
46
|
-
"version": "1.2.
|
|
71
|
+
"version": "1.2.5"
|
|
47
72
|
}
|