data-structure-typed 2.5.2 → 2.5.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/CHANGELOG.md +3 -1
- package/MIGRATION.md +169 -0
- package/README.md +60 -6
- package/README_CN.md +551 -143
- package/SPECIFICATION.md +20 -14
- package/SPECIFICATION.zh-CN.md +20 -14
- package/dist/cjs/binary-tree.cjs +2417 -132
- package/dist/cjs/graph.cjs +248 -14
- package/dist/cjs/hash.cjs +62 -7
- package/dist/cjs/heap.cjs +103 -16
- package/dist/cjs/index.cjs +3046 -124
- package/dist/cjs/linked-list.cjs +219 -0
- package/dist/cjs/matrix.cjs +32 -0
- package/dist/cjs/priority-queue.cjs +101 -14
- package/dist/cjs/queue.cjs +215 -0
- package/dist/cjs/stack.cjs +44 -4
- package/dist/cjs/trie.cjs +44 -0
- package/dist/cjs-legacy/binary-tree.cjs +2406 -123
- package/dist/cjs-legacy/graph.cjs +248 -14
- package/dist/cjs-legacy/hash.cjs +62 -7
- package/dist/cjs-legacy/heap.cjs +103 -16
- package/dist/cjs-legacy/index.cjs +3105 -185
- package/dist/cjs-legacy/linked-list.cjs +219 -0
- package/dist/cjs-legacy/matrix.cjs +32 -0
- package/dist/cjs-legacy/priority-queue.cjs +101 -14
- package/dist/cjs-legacy/queue.cjs +215 -0
- package/dist/cjs-legacy/stack.cjs +44 -4
- package/dist/cjs-legacy/trie.cjs +44 -0
- package/dist/esm/binary-tree.mjs +2417 -132
- package/dist/esm/graph.mjs +248 -14
- package/dist/esm/hash.mjs +62 -7
- package/dist/esm/heap.mjs +103 -16
- package/dist/esm/index.mjs +3046 -124
- package/dist/esm/linked-list.mjs +219 -0
- package/dist/esm/matrix.mjs +32 -0
- package/dist/esm/priority-queue.mjs +101 -14
- package/dist/esm/queue.mjs +215 -0
- package/dist/esm/stack.mjs +44 -4
- package/dist/esm/trie.mjs +44 -0
- package/dist/esm-legacy/binary-tree.mjs +2406 -123
- package/dist/esm-legacy/graph.mjs +248 -14
- package/dist/esm-legacy/hash.mjs +62 -7
- package/dist/esm-legacy/heap.mjs +103 -16
- package/dist/esm-legacy/index.mjs +3105 -185
- package/dist/esm-legacy/linked-list.mjs +219 -0
- package/dist/esm-legacy/matrix.mjs +32 -0
- package/dist/esm-legacy/priority-queue.mjs +101 -14
- package/dist/esm-legacy/queue.mjs +215 -0
- package/dist/esm-legacy/stack.mjs +44 -4
- package/dist/esm-legacy/trie.mjs +44 -0
- package/dist/types/data-structures/binary-tree/avl-tree.d.ts +50 -2
- package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +56 -0
- package/dist/types/data-structures/binary-tree/binary-tree.d.ts +116 -15
- package/dist/types/data-structures/binary-tree/bst.d.ts +99 -3
- package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +79 -8
- package/dist/types/data-structures/binary-tree/segment-tree.d.ts +24 -0
- package/dist/types/data-structures/binary-tree/tree-map.d.ts +520 -1
- package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +489 -1
- package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +393 -1
- package/dist/types/data-structures/binary-tree/tree-set.d.ts +500 -1
- package/dist/types/data-structures/graph/directed-graph.d.ts +40 -0
- package/dist/types/data-structures/graph/undirected-graph.d.ts +36 -0
- package/dist/types/data-structures/hash/hash-map.d.ts +51 -6
- package/dist/types/data-structures/heap/heap.d.ts +98 -12
- package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +75 -0
- package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +61 -1
- package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +72 -0
- package/dist/types/data-structures/matrix/matrix.d.ts +32 -0
- package/dist/types/data-structures/queue/deque.d.ts +82 -0
- package/dist/types/data-structures/queue/queue.d.ts +61 -0
- package/dist/types/data-structures/stack/stack.d.ts +42 -2
- package/dist/types/data-structures/trie/trie.d.ts +48 -0
- package/dist/types/interfaces/binary-tree.d.ts +2 -3
- package/dist/umd/data-structure-typed.js +3105 -185
- package/dist/umd/data-structure-typed.min.js +4 -4
- package/docs-site-docusaurus/docs/api/classes/AVLTree.md +188 -200
- package/docs-site-docusaurus/docs/api/classes/AVLTreeNode.md +11 -11
- package/docs-site-docusaurus/docs/api/classes/AbstractGraph.md +62 -62
- package/docs-site-docusaurus/docs/api/classes/BST.md +183 -195
- package/docs-site-docusaurus/docs/api/classes/BSTNode.md +13 -13
- package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +15 -15
- package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +143 -155
- package/docs-site-docusaurus/docs/api/classes/BinaryTreeNode.md +13 -13
- package/docs-site-docusaurus/docs/api/classes/Deque.md +99 -85
- package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +73 -73
- package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +100 -70
- package/docs-site-docusaurus/docs/api/classes/DoublyLinkedListNode.md +8 -8
- package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +12 -12
- package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +1 -1
- package/docs-site-docusaurus/docs/api/classes/HashMap.md +38 -38
- package/docs-site-docusaurus/docs/api/classes/Heap.md +96 -85
- package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +25 -25
- package/docs-site-docusaurus/docs/api/classes/IterableEntryBase.md +23 -23
- package/docs-site-docusaurus/docs/api/classes/LinearBase.md +48 -48
- package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +52 -52
- package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +42 -42
- package/docs-site-docusaurus/docs/api/classes/LinkedListNode.md +6 -6
- package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +74 -74
- package/docs-site-docusaurus/docs/api/classes/MapGraph.md +73 -73
- package/docs-site-docusaurus/docs/api/classes/Matrix.md +31 -31
- package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +104 -89
- package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +104 -89
- package/docs-site-docusaurus/docs/api/classes/MinHeap.md +104 -89
- package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +104 -89
- package/docs-site-docusaurus/docs/api/classes/Navigator.md +5 -5
- package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +103 -88
- package/docs-site-docusaurus/docs/api/classes/Queue.md +111 -59
- package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +200 -212
- package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +10 -10
- package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +75 -75
- package/docs-site-docusaurus/docs/api/classes/SinglyLinkedListNode.md +6 -6
- package/docs-site-docusaurus/docs/api/classes/SkipList.md +37 -37
- package/docs-site-docusaurus/docs/api/classes/Stack.md +42 -42
- package/docs-site-docusaurus/docs/api/classes/TreeMap.md +107 -36
- package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +43 -43
- package/docs-site-docusaurus/docs/api/classes/TreeSet.md +106 -35
- package/docs-site-docusaurus/docs/api/classes/Trie.md +43 -43
- package/docs-site-docusaurus/docs/api/classes/TrieNode.md +8 -8
- package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +72 -72
- package/docs-site-docusaurus/docs/guide/architecture.md +75 -7
- package/docs-site-docusaurus/docs/guide/concepts.md +53 -34
- package/docs-site-docusaurus/docs/guide/faq.md +53 -0
- package/docs-site-docusaurus/docs/guide/guides.md +8 -9
- package/docs-site-docusaurus/docs/guide/integrations.md +74 -177
- package/docs-site-docusaurus/docs/guide/overview.md +131 -17
- package/docs-site-docusaurus/src/pages/index.tsx +4 -0
- package/docs-site-docusaurus/typedoc.json +1 -0
- package/package.json +7 -6
- package/src/data-structures/binary-tree/avl-tree.ts +52 -5
- package/src/data-structures/binary-tree/binary-indexed-tree.ts +56 -0
- package/src/data-structures/binary-tree/binary-tree.ts +167 -81
- package/src/data-structures/binary-tree/bst.ts +101 -7
- package/src/data-structures/binary-tree/red-black-tree.ts +82 -15
- package/src/data-structures/binary-tree/segment-tree.ts +24 -0
- package/src/data-structures/binary-tree/tree-map.ts +540 -3
- package/src/data-structures/binary-tree/tree-multi-map.ts +490 -2
- package/src/data-structures/binary-tree/tree-multi-set.ts +393 -1
- package/src/data-structures/binary-tree/tree-set.ts +520 -3
- package/src/data-structures/graph/directed-graph.ts +41 -1
- package/src/data-structures/graph/undirected-graph.ts +37 -1
- package/src/data-structures/hash/hash-map.ts +67 -12
- package/src/data-structures/heap/heap.ts +107 -19
- package/src/data-structures/linked-list/doubly-linked-list.ts +88 -0
- package/src/data-structures/linked-list/singly-linked-list.ts +61 -1
- package/src/data-structures/linked-list/skip-linked-list.ts +72 -0
- package/src/data-structures/matrix/matrix.ts +32 -0
- package/src/data-structures/queue/deque.ts +85 -0
- package/src/data-structures/queue/queue.ts +73 -0
- package/src/data-structures/stack/stack.ts +45 -5
- package/src/data-structures/trie/trie.ts +48 -0
- package/src/interfaces/binary-tree.ts +1 -9
- package/.vitepress/cache/deps_temp_51f5f1b0/chunk-7OIKW5WK.js +0 -12984
- package/.vitepress/cache/deps_temp_51f5f1b0/package.json +0 -3
- package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vue_devtools-api.js +0 -4505
- package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vueuse_core.js +0 -9731
- package/.vitepress/cache/deps_temp_51f5f1b0/vue.js +0 -347
package/dist/cjs/graph.cjs
CHANGED
|
@@ -717,6 +717,10 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
717
717
|
|
|
718
718
|
|
|
719
719
|
|
|
720
|
+
|
|
721
|
+
|
|
722
|
+
|
|
723
|
+
|
|
720
724
|
|
|
721
725
|
|
|
722
726
|
|
|
@@ -770,7 +774,7 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
770
774
|
}
|
|
771
775
|
/**
|
|
772
776
|
* Insert an element.
|
|
773
|
-
* @remarks Time O(
|
|
777
|
+
* @remarks Time O(log N) amortized, Space O(1)
|
|
774
778
|
* @param element - Element to insert.
|
|
775
779
|
* @returns True.
|
|
776
780
|
|
|
@@ -803,6 +807,10 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
803
807
|
|
|
804
808
|
|
|
805
809
|
|
|
810
|
+
|
|
811
|
+
|
|
812
|
+
|
|
813
|
+
|
|
806
814
|
|
|
807
815
|
|
|
808
816
|
|
|
@@ -860,6 +868,10 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
860
868
|
|
|
861
869
|
|
|
862
870
|
|
|
871
|
+
|
|
872
|
+
|
|
873
|
+
|
|
874
|
+
|
|
863
875
|
|
|
864
876
|
|
|
865
877
|
|
|
@@ -920,10 +932,41 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
920
932
|
|
|
921
933
|
|
|
922
934
|
|
|
935
|
+
|
|
936
|
+
|
|
937
|
+
|
|
923
938
|
|
|
924
939
|
|
|
925
940
|
|
|
926
941
|
|
|
942
|
+
* @example
|
|
943
|
+
* // Heap with custom comparator (MaxHeap behavior)
|
|
944
|
+
* interface Task {
|
|
945
|
+
* id: number;
|
|
946
|
+
* priority: number;
|
|
947
|
+
* name: string;
|
|
948
|
+
* }
|
|
949
|
+
*
|
|
950
|
+
* // Custom comparator for max heap behavior (higher priority first)
|
|
951
|
+
* const tasks: Task[] = [
|
|
952
|
+
* { id: 1, priority: 5, name: 'Email' },
|
|
953
|
+
* { id: 2, priority: 3, name: 'Chat' },
|
|
954
|
+
* { id: 3, priority: 8, name: 'Alert' }
|
|
955
|
+
* ];
|
|
956
|
+
*
|
|
957
|
+
* const maxHeap = new Heap(tasks, {
|
|
958
|
+
* comparator: (a: Task, b: Task) => b.priority - a.priority
|
|
959
|
+
* });
|
|
960
|
+
*
|
|
961
|
+
* console.log(maxHeap.size); // 3;
|
|
962
|
+
*
|
|
963
|
+
* // Peek returns highest priority task
|
|
964
|
+
* const topTask = maxHeap.peek();
|
|
965
|
+
* console.log(topTask?.priority); // 8;
|
|
966
|
+
* console.log(topTask?.name); // 'Alert';
|
|
967
|
+
*/
|
|
968
|
+
/**
|
|
969
|
+
* @deprecated Use `pop` instead. Will be removed in a future major version.
|
|
927
970
|
* @example
|
|
928
971
|
* // Heap with custom comparator (MaxHeap behavior)
|
|
929
972
|
* interface Task {
|
|
@@ -951,6 +994,14 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
951
994
|
* console.log(topTask?.name); // 'Alert';
|
|
952
995
|
*/
|
|
953
996
|
poll() {
|
|
997
|
+
return this.pop();
|
|
998
|
+
}
|
|
999
|
+
/**
|
|
1000
|
+
* Remove and return the top element (min or max depending on comparator).
|
|
1001
|
+
* @remarks Time O(log N) amortized, Space O(1)
|
|
1002
|
+
* @returns The removed top element, or undefined if empty.
|
|
1003
|
+
*/
|
|
1004
|
+
pop() {
|
|
954
1005
|
if (this.elements.length === 0) return;
|
|
955
1006
|
const value = this.elements[0];
|
|
956
1007
|
const last = this.elements.pop();
|
|
@@ -994,6 +1045,10 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
994
1045
|
|
|
995
1046
|
|
|
996
1047
|
|
|
1048
|
+
|
|
1049
|
+
|
|
1050
|
+
|
|
1051
|
+
|
|
997
1052
|
|
|
998
1053
|
|
|
999
1054
|
|
|
@@ -1094,6 +1149,10 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1094
1149
|
|
|
1095
1150
|
|
|
1096
1151
|
|
|
1152
|
+
|
|
1153
|
+
|
|
1154
|
+
|
|
1155
|
+
|
|
1097
1156
|
|
|
1098
1157
|
|
|
1099
1158
|
|
|
@@ -1141,6 +1200,10 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1141
1200
|
|
|
1142
1201
|
|
|
1143
1202
|
|
|
1203
|
+
|
|
1204
|
+
|
|
1205
|
+
|
|
1206
|
+
|
|
1144
1207
|
|
|
1145
1208
|
|
|
1146
1209
|
|
|
@@ -1155,16 +1218,6 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1155
1218
|
clear() {
|
|
1156
1219
|
this._elements = [];
|
|
1157
1220
|
}
|
|
1158
|
-
/**
|
|
1159
|
-
* Replace the backing array and rebuild the heap.
|
|
1160
|
-
* @remarks Time O(N), Space O(N)
|
|
1161
|
-
* @param elements - Iterable used to refill the heap.
|
|
1162
|
-
* @returns Array of per-node results from fixing steps.
|
|
1163
|
-
*/
|
|
1164
|
-
refill(elements) {
|
|
1165
|
-
this._elements = Array.from(elements);
|
|
1166
|
-
return this.fix();
|
|
1167
|
-
}
|
|
1168
1221
|
/**
|
|
1169
1222
|
* Check if an equal element exists in the heap.
|
|
1170
1223
|
* @remarks Time O(N), Space O(1)
|
|
@@ -1191,6 +1244,10 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1191
1244
|
|
|
1192
1245
|
|
|
1193
1246
|
|
|
1247
|
+
|
|
1248
|
+
|
|
1249
|
+
|
|
1250
|
+
|
|
1194
1251
|
|
|
1195
1252
|
|
|
1196
1253
|
|
|
@@ -1238,6 +1295,10 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1238
1295
|
|
|
1239
1296
|
|
|
1240
1297
|
|
|
1298
|
+
|
|
1299
|
+
|
|
1300
|
+
|
|
1301
|
+
|
|
1241
1302
|
|
|
1242
1303
|
|
|
1243
1304
|
|
|
@@ -1259,7 +1320,7 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1259
1320
|
}
|
|
1260
1321
|
if (index < 0) return false;
|
|
1261
1322
|
if (index === 0) {
|
|
1262
|
-
this.
|
|
1323
|
+
this.pop();
|
|
1263
1324
|
} else if (index === this.elements.length - 1) {
|
|
1264
1325
|
this.elements.pop();
|
|
1265
1326
|
} else {
|
|
@@ -1269,13 +1330,19 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1269
1330
|
}
|
|
1270
1331
|
return true;
|
|
1271
1332
|
}
|
|
1333
|
+
/**
|
|
1334
|
+
* @deprecated Use `deleteWhere` instead. Will be removed in a future major version.
|
|
1335
|
+
*/
|
|
1336
|
+
deleteBy(predicate) {
|
|
1337
|
+
return this.deleteWhere(predicate);
|
|
1338
|
+
}
|
|
1272
1339
|
/**
|
|
1273
1340
|
* Delete the first element that matches a predicate.
|
|
1274
1341
|
* @remarks Time O(N), Space O(1)
|
|
1275
1342
|
* @param predicate - Function (element, index, heap) → boolean.
|
|
1276
1343
|
* @returns True if an element was removed.
|
|
1277
1344
|
*/
|
|
1278
|
-
|
|
1345
|
+
deleteWhere(predicate) {
|
|
1279
1346
|
let idx = -1;
|
|
1280
1347
|
for (let i = 0; i < this.elements.length; i++) {
|
|
1281
1348
|
if (predicate(this.elements[i], i, this)) {
|
|
@@ -1285,7 +1352,7 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1285
1352
|
}
|
|
1286
1353
|
if (idx < 0) return false;
|
|
1287
1354
|
if (idx === 0) {
|
|
1288
|
-
this.
|
|
1355
|
+
this.pop();
|
|
1289
1356
|
} else if (idx === this.elements.length - 1) {
|
|
1290
1357
|
this.elements.pop();
|
|
1291
1358
|
} else {
|
|
@@ -1331,6 +1398,10 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1331
1398
|
|
|
1332
1399
|
|
|
1333
1400
|
|
|
1401
|
+
|
|
1402
|
+
|
|
1403
|
+
|
|
1404
|
+
|
|
1334
1405
|
|
|
1335
1406
|
|
|
1336
1407
|
|
|
@@ -1411,6 +1482,10 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1411
1482
|
|
|
1412
1483
|
|
|
1413
1484
|
|
|
1485
|
+
|
|
1486
|
+
|
|
1487
|
+
|
|
1488
|
+
|
|
1414
1489
|
|
|
1415
1490
|
|
|
1416
1491
|
|
|
@@ -1464,6 +1539,10 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1464
1539
|
|
|
1465
1540
|
|
|
1466
1541
|
|
|
1542
|
+
|
|
1543
|
+
|
|
1544
|
+
|
|
1545
|
+
|
|
1467
1546
|
|
|
1468
1547
|
|
|
1469
1548
|
|
|
@@ -1516,6 +1595,10 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1516
1595
|
|
|
1517
1596
|
|
|
1518
1597
|
|
|
1598
|
+
|
|
1599
|
+
|
|
1600
|
+
|
|
1601
|
+
|
|
1519
1602
|
|
|
1520
1603
|
|
|
1521
1604
|
|
|
@@ -1575,6 +1658,10 @@ var Heap = class _Heap extends IterableElementBase {
|
|
|
1575
1658
|
|
|
1576
1659
|
|
|
1577
1660
|
|
|
1661
|
+
|
|
1662
|
+
|
|
1663
|
+
|
|
1664
|
+
|
|
1578
1665
|
|
|
1579
1666
|
|
|
1580
1667
|
|
|
@@ -1788,6 +1875,10 @@ var Queue = class _Queue extends LinearBase {
|
|
|
1788
1875
|
|
|
1789
1876
|
|
|
1790
1877
|
|
|
1878
|
+
|
|
1879
|
+
|
|
1880
|
+
|
|
1881
|
+
|
|
1791
1882
|
|
|
1792
1883
|
|
|
1793
1884
|
|
|
@@ -1838,6 +1929,10 @@ var Queue = class _Queue extends LinearBase {
|
|
|
1838
1929
|
|
|
1839
1930
|
|
|
1840
1931
|
|
|
1932
|
+
|
|
1933
|
+
|
|
1934
|
+
|
|
1935
|
+
|
|
1841
1936
|
|
|
1842
1937
|
|
|
1843
1938
|
|
|
@@ -1852,6 +1947,14 @@ var Queue = class _Queue extends LinearBase {
|
|
|
1852
1947
|
get first() {
|
|
1853
1948
|
return this.length > 0 ? this.elements[this._offset] : void 0;
|
|
1854
1949
|
}
|
|
1950
|
+
/**
|
|
1951
|
+
* Peek at the front element without removing it (alias for `first`).
|
|
1952
|
+
* @remarks Time O(1), Space O(1)
|
|
1953
|
+
* @returns Front element or undefined.
|
|
1954
|
+
*/
|
|
1955
|
+
peek() {
|
|
1956
|
+
return this.first;
|
|
1957
|
+
}
|
|
1855
1958
|
/**
|
|
1856
1959
|
* Get the last element (back) without removing it.
|
|
1857
1960
|
* @remarks Time O(1), Space O(1)
|
|
@@ -1904,6 +2007,10 @@ var Queue = class _Queue extends LinearBase {
|
|
|
1904
2007
|
|
|
1905
2008
|
|
|
1906
2009
|
|
|
2010
|
+
|
|
2011
|
+
|
|
2012
|
+
|
|
2013
|
+
|
|
1907
2014
|
|
|
1908
2015
|
|
|
1909
2016
|
|
|
@@ -1966,6 +2073,10 @@ var Queue = class _Queue extends LinearBase {
|
|
|
1966
2073
|
|
|
1967
2074
|
|
|
1968
2075
|
|
|
2076
|
+
|
|
2077
|
+
|
|
2078
|
+
|
|
2079
|
+
|
|
1969
2080
|
|
|
1970
2081
|
|
|
1971
2082
|
|
|
@@ -2035,6 +2146,10 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2035
2146
|
|
|
2036
2147
|
|
|
2037
2148
|
|
|
2149
|
+
|
|
2150
|
+
|
|
2151
|
+
|
|
2152
|
+
|
|
2038
2153
|
|
|
2039
2154
|
|
|
2040
2155
|
|
|
@@ -2094,6 +2209,10 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2094
2209
|
|
|
2095
2210
|
|
|
2096
2211
|
|
|
2212
|
+
|
|
2213
|
+
|
|
2214
|
+
|
|
2215
|
+
|
|
2097
2216
|
|
|
2098
2217
|
|
|
2099
2218
|
|
|
@@ -2146,6 +2265,10 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2146
2265
|
|
|
2147
2266
|
|
|
2148
2267
|
|
|
2268
|
+
|
|
2269
|
+
|
|
2270
|
+
|
|
2271
|
+
|
|
2149
2272
|
|
|
2150
2273
|
|
|
2151
2274
|
|
|
@@ -2197,6 +2320,21 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2197
2320
|
this._elements[this._offset + index] = newElement;
|
|
2198
2321
|
return true;
|
|
2199
2322
|
}
|
|
2323
|
+
/**
|
|
2324
|
+
* Delete the first element that satisfies a predicate.
|
|
2325
|
+
* @remarks Time O(N), Space O(N)
|
|
2326
|
+
* @param predicate - Function (value, index, queue) → boolean to decide deletion.
|
|
2327
|
+
* @returns True if a match was removed.
|
|
2328
|
+
*/
|
|
2329
|
+
deleteWhere(predicate) {
|
|
2330
|
+
for (let i = 0; i < this.length; i++) {
|
|
2331
|
+
if (predicate(this._elements[this._offset + i], i, this)) {
|
|
2332
|
+
this.deleteAt(i);
|
|
2333
|
+
return true;
|
|
2334
|
+
}
|
|
2335
|
+
}
|
|
2336
|
+
return false;
|
|
2337
|
+
}
|
|
2200
2338
|
/**
|
|
2201
2339
|
* Reverse the queue in-place by compacting then reversing.
|
|
2202
2340
|
* @remarks Time O(N), Space O(N)
|
|
@@ -2239,6 +2377,10 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2239
2377
|
|
|
2240
2378
|
|
|
2241
2379
|
|
|
2380
|
+
|
|
2381
|
+
|
|
2382
|
+
|
|
2383
|
+
|
|
2242
2384
|
|
|
2243
2385
|
|
|
2244
2386
|
|
|
@@ -2285,6 +2427,10 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2285
2427
|
|
|
2286
2428
|
|
|
2287
2429
|
|
|
2430
|
+
|
|
2431
|
+
|
|
2432
|
+
|
|
2433
|
+
|
|
2288
2434
|
|
|
2289
2435
|
|
|
2290
2436
|
|
|
@@ -2354,6 +2500,10 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2354
2500
|
|
|
2355
2501
|
|
|
2356
2502
|
|
|
2503
|
+
|
|
2504
|
+
|
|
2505
|
+
|
|
2506
|
+
|
|
2357
2507
|
|
|
2358
2508
|
|
|
2359
2509
|
|
|
@@ -2407,6 +2557,10 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2407
2557
|
|
|
2408
2558
|
|
|
2409
2559
|
|
|
2560
|
+
|
|
2561
|
+
|
|
2562
|
+
|
|
2563
|
+
|
|
2410
2564
|
|
|
2411
2565
|
|
|
2412
2566
|
|
|
@@ -2464,6 +2618,10 @@ var Queue = class _Queue extends LinearBase {
|
|
|
2464
2618
|
|
|
2465
2619
|
|
|
2466
2620
|
|
|
2621
|
+
|
|
2622
|
+
|
|
2623
|
+
|
|
2624
|
+
|
|
2467
2625
|
|
|
2468
2626
|
|
|
2469
2627
|
|
|
@@ -3603,6 +3761,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
3603
3761
|
|
|
3604
3762
|
|
|
3605
3763
|
|
|
3764
|
+
|
|
3765
|
+
|
|
3766
|
+
|
|
3767
|
+
|
|
3606
3768
|
|
|
3607
3769
|
|
|
3608
3770
|
|
|
@@ -3691,6 +3853,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
3691
3853
|
|
|
3692
3854
|
|
|
3693
3855
|
|
|
3856
|
+
|
|
3857
|
+
|
|
3858
|
+
|
|
3859
|
+
|
|
3694
3860
|
|
|
3695
3861
|
|
|
3696
3862
|
|
|
@@ -3777,6 +3943,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
3777
3943
|
|
|
3778
3944
|
|
|
3779
3945
|
|
|
3946
|
+
|
|
3947
|
+
|
|
3948
|
+
|
|
3949
|
+
|
|
3780
3950
|
|
|
3781
3951
|
|
|
3782
3952
|
|
|
@@ -3854,6 +4024,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
3854
4024
|
|
|
3855
4025
|
|
|
3856
4026
|
|
|
4027
|
+
|
|
4028
|
+
|
|
4029
|
+
|
|
4030
|
+
|
|
3857
4031
|
|
|
3858
4032
|
|
|
3859
4033
|
|
|
@@ -3908,6 +4082,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
3908
4082
|
|
|
3909
4083
|
|
|
3910
4084
|
|
|
4085
|
+
|
|
4086
|
+
|
|
4087
|
+
|
|
4088
|
+
|
|
3911
4089
|
|
|
3912
4090
|
|
|
3913
4091
|
|
|
@@ -4015,6 +4193,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
4015
4193
|
|
|
4016
4194
|
|
|
4017
4195
|
|
|
4196
|
+
|
|
4197
|
+
|
|
4198
|
+
|
|
4199
|
+
|
|
4018
4200
|
|
|
4019
4201
|
|
|
4020
4202
|
|
|
@@ -4103,6 +4285,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
4103
4285
|
|
|
4104
4286
|
|
|
4105
4287
|
|
|
4288
|
+
|
|
4289
|
+
|
|
4290
|
+
|
|
4291
|
+
|
|
4106
4292
|
|
|
4107
4293
|
|
|
4108
4294
|
|
|
@@ -4153,6 +4339,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
4153
4339
|
|
|
4154
4340
|
|
|
4155
4341
|
|
|
4342
|
+
|
|
4343
|
+
|
|
4344
|
+
|
|
4345
|
+
|
|
4156
4346
|
|
|
4157
4347
|
|
|
4158
4348
|
|
|
@@ -4256,6 +4446,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
4256
4446
|
|
|
4257
4447
|
|
|
4258
4448
|
|
|
4449
|
+
|
|
4450
|
+
|
|
4451
|
+
|
|
4452
|
+
|
|
4259
4453
|
|
|
4260
4454
|
|
|
4261
4455
|
|
|
@@ -4362,6 +4556,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
|
|
|
4362
4556
|
|
|
4363
4557
|
|
|
4364
4558
|
|
|
4559
|
+
|
|
4560
|
+
|
|
4561
|
+
|
|
4562
|
+
|
|
4365
4563
|
|
|
4366
4564
|
|
|
4367
4565
|
|
|
@@ -4534,6 +4732,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4534
4732
|
|
|
4535
4733
|
|
|
4536
4734
|
|
|
4735
|
+
|
|
4736
|
+
|
|
4737
|
+
|
|
4738
|
+
|
|
4537
4739
|
|
|
4538
4740
|
|
|
4539
4741
|
|
|
@@ -4618,6 +4820,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4618
4820
|
|
|
4619
4821
|
|
|
4620
4822
|
|
|
4823
|
+
|
|
4824
|
+
|
|
4825
|
+
|
|
4826
|
+
|
|
4621
4827
|
|
|
4622
4828
|
|
|
4623
4829
|
|
|
@@ -4702,6 +4908,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4702
4908
|
|
|
4703
4909
|
|
|
4704
4910
|
|
|
4911
|
+
|
|
4912
|
+
|
|
4913
|
+
|
|
4914
|
+
|
|
4705
4915
|
|
|
4706
4916
|
|
|
4707
4917
|
|
|
@@ -4800,6 +5010,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4800
5010
|
|
|
4801
5011
|
|
|
4802
5012
|
|
|
5013
|
+
|
|
5014
|
+
|
|
5015
|
+
|
|
5016
|
+
|
|
4803
5017
|
|
|
4804
5018
|
|
|
4805
5019
|
|
|
@@ -4854,6 +5068,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4854
5068
|
|
|
4855
5069
|
|
|
4856
5070
|
|
|
5071
|
+
|
|
5072
|
+
|
|
5073
|
+
|
|
5074
|
+
|
|
4857
5075
|
|
|
4858
5076
|
|
|
4859
5077
|
|
|
@@ -4978,6 +5196,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
4978
5196
|
|
|
4979
5197
|
|
|
4980
5198
|
|
|
5199
|
+
|
|
5200
|
+
|
|
5201
|
+
|
|
5202
|
+
|
|
4981
5203
|
|
|
4982
5204
|
|
|
4983
5205
|
|
|
@@ -5124,6 +5346,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
5124
5346
|
|
|
5125
5347
|
|
|
5126
5348
|
|
|
5349
|
+
|
|
5350
|
+
|
|
5351
|
+
|
|
5352
|
+
|
|
5127
5353
|
|
|
5128
5354
|
|
|
5129
5355
|
|
|
@@ -5192,6 +5418,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
5192
5418
|
|
|
5193
5419
|
|
|
5194
5420
|
|
|
5421
|
+
|
|
5422
|
+
|
|
5423
|
+
|
|
5424
|
+
|
|
5195
5425
|
|
|
5196
5426
|
|
|
5197
5427
|
|
|
@@ -5242,6 +5472,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
|
|
|
5242
5472
|
|
|
5243
5473
|
|
|
5244
5474
|
|
|
5475
|
+
|
|
5476
|
+
|
|
5477
|
+
|
|
5478
|
+
|
|
5245
5479
|
|
|
5246
5480
|
|
|
5247
5481
|
|