@raikuxq/alg-ds 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/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 +1 -1
|
@@ -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=
|
|
@@ -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, };
|
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.perfAsync = exports.memoize = exports.getMinIndexFromIndex = exports.getMinIndex = exports.perf = void 0;
|
|
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.perfAsync = exports.memoize = exports.getMinIndexFromIndex = exports.getMinIndex = exports.perf = 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");
|
|
@@ -102,4 +106,4 @@ Object.defineProperty(exports, "randomizeNumberInRange", { enumerable: true, get
|
|
|
102
106
|
Object.defineProperty(exports, "roundNumber", { enumerable: true, get: function () { return utils_1.roundNumber; } });
|
|
103
107
|
Object.defineProperty(exports, "swapArrayItems", { enumerable: true, get: function () { return utils_1.swapArrayItems; } });
|
|
104
108
|
Object.defineProperty(exports, "perfAsync", { enumerable: true, get: function () { return utils_1.perfAsync; } });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUEwRTtBQWlHeEUsMEZBakdPLHFCQUFTLE9BaUdQO0FBQ1Qsa0dBbEdrQiw2QkFBaUIsT0FrR2xCO0FBakduQix3REFBMEU7QUFtR3hFLDBGQW5HTyxxQkFBUyxPQW1HUDtBQURULGtHQWxHa0IsNkJBQWlCLE9Ba0dsQjtBQWpHbkIsZ0VBQThEO0FBOEY1RCw2RkE5Rk8sNEJBQVksT0E4RlA7QUE3RmQsc0VBQW9FO0FBa0dsRSxnR0FsR08sa0NBQWUsT0FrR1A7QUFqR2pCLG9HQUFtRztBQTRHakcsdUdBNUdPLCtDQUFzQixPQTRHUDtBQTNHeEIsc0dBQWlHO0FBd0cvRiwrQkF4R0ssOEJBQW9CLENBd0dMO0FBdkd0QixzR0FBaUc7QUFzRy9GLCtCQXRHSyw4QkFBb0IsQ0FzR0w7QUFyR3RCLGdIQUEyRztBQW9Hekcsb0NBcEdLLG1DQUF5QixDQW9HTDtBQW5HM0IscUZBQWdGO0FBc0c5RSwyQkF0R0ssMEJBQWdCLENBc0dMO0FBckdsQixxRkFBZ0Y7QUE2RjlFLDJCQTdGSywwQkFBZ0IsQ0E2Rkw7QUE1RmxCLCtGQUEwRjtBQXFHeEYsZ0NBckdLLCtCQUFxQixDQXFHTDtBQXBHdkIsb0VBQW1FO0FBOEZqRSx3RkE5Rk8saUJBQU8sT0E4RlA7QUE3RlQsOEVBQTZFO0FBOEYzRSw2RkE5Rk8sMkJBQVksT0E4RlA7QUE3RmQsc0dBQXFHO0FBMkZuRyx5R0EzRk8sbURBQXdCLE9BMkZQO0FBMUYxQixvR0FBbUc7QUF5RmpHLHdHQXpGTyxpREFBdUIsT0F5RlA7QUF4RnpCLGdHQUErRjtBQTZFN0Ysb0dBN0VPLHlDQUFtQixPQTZFUDtBQTVFckIsK0ZBQThGO0FBMkU1RixpR0EzRU8sbUNBQWdCLE9BMkVQO0FBMUVsQiwrRkFBOEY7QUF5RTVGLGlHQXpFTyxtQ0FBZ0IsT0F5RVA7QUF4RWxCLGdGQUErRTtBQXNFN0UsNEZBdEVPLHlCQUFXLE9Bc0VQO0FBckViLG9HQUFtRztBQXNFakcsc0dBdEVPLDZDQUFxQixPQXNFUDtBQXJFdkIsNkNBQTJFO0FBaUUzQyxrR0FqRXZCLDZCQUFpQixPQWlFdUI7QUFBeEMsc0dBakVtQixpQ0FBcUIsT0FpRW5CO0FBaEU5QiwyREFBc0Q7QUFtRHBELGdCQW5ESyxlQUFLLENBbURMO0FBbERQLDJEQUFzRDtBQWlEcEQsZ0JBakRLLGVBQUssQ0FpREw7QUFoRFAsK0VBQTBFO0FBeUR4RSwwQkF6REsseUJBQWUsQ0F5REw7QUF4RGpCLDJFQUFzRTtBQXVEcEUsd0JBdkRLLHVCQUFhLENBdURMO0FBdERmLHVHQUFrRztBQXFEaEcsMkJBckRLLDBCQUFnQixDQXFETDtBQXBEbEIsbUhBQThHO0FBbUQ1RywrQkFuREssOEJBQW9CLENBbURMO0FBbER0Qix1R0FBa0c7QUFnRGhHLDJCQWhESywwQkFBZ0IsQ0FnREw7QUEvQ2xCLHVIQUFrSDtBQThDaEgsbUNBOUNLLGtDQUF3QixDQThDTDtBQTdDMUIsdUhBQWtIO0FBK0NoSCxtQ0EvQ0ssa0NBQXdCLENBK0NMO0FBOUMxQix1R0FBa0c7QUEyQ2hHLDJCQTNDSywwQkFBZ0IsQ0EyQ0w7QUExQ2xCLDZFQUF3RTtBQWtEdEUsc0JBbERLLHFCQUFXLENBa0RMO0FBakRiLHVFQUFrRTtBQWtEaEUsb0JBbERLLG1CQUFTLENBa0RMO0FBakRYLDRFQUF1RTtBQXFGckUsOEJBckZLLDZCQUFtQixDQXFGTDtBQXBGckIsc0ZBQWlGO0FBcUYvRSxtQ0FyRkssa0NBQXdCLENBcUZMO0FBcEYxQixzRkFBaUY7QUFxRi9FLG1DQXJGSyxrQ0FBd0IsQ0FxRkw7QUFwRjFCLDJGQUFzRjtBQXFGcEYsbUNBckZLLGtDQUF3QixDQXFGTDtBQXBGMUIscUZBQWdGO0FBcUY5RSxnQ0FyRkssK0JBQXFCLENBcUZMO0FBcEZ2Qix3RkFBbUY7QUFxRmpGLG9DQXJGSyxtQ0FBeUIsQ0FxRkw7QUFwRjNCLDBGQUFxRjtBQTZFbkYscUNBN0VLLG9DQUEwQixDQTZFTDtBQTVFNUIsd0ZBQW1GO0FBNkVqRixvQ0E3RUssbUNBQXlCLENBNkVMO0FBNUUzQixrRUFBZ0U7QUEyQnZELDJGQTNCQSx3QkFBVSxPQTJCQTtBQTFCbkIsa0VBQWdFO0FBMEJqQiwyRkExQnRDLHdCQUFVLE9BMEJzQztBQXpCekQsZ0VBQThEO0FBeUIxQiwwRkF6QjNCLHNCQUFTLE9BeUIyQjtBQXhCN0Msd0VBQXNFO0FBd0JqRCw4RkF4QlosOEJBQWEsT0F3Qlk7QUF2QmxDLGdFQUE4RDtBQXVCSCwwRkF2QmxELHNCQUFTLE9BdUJrRDtBQXRCcEUsb0RBQW1EO0FBZWpELHdGQWZPLGlCQUFPLE9BZVA7QUFkVCxxQ0FRcUI7QUFJbkIsNEZBWEEsbUJBQVcsT0FXQTtBQUNYLHFHQVhBLDRCQUFvQixPQVdBO0FBRnBCLHFGQVJBLFlBQUksT0FRQTtBQU1KLHVHQWJBLDhCQUFzQixPQWFBO0FBRHRCLDRGQVhBLG1CQUFXLE9BV0E7QUFFWCwrRkFaQSxzQkFBYyxPQVlBO0FBSGQsMEZBUkEsaUJBQVMsT0FRQSJ9
|
package/package.json
CHANGED