queue-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/dist/cjs/index.cjs +215 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs-legacy/index.cjs +215 -0
- package/dist/cjs-legacy/index.cjs.map +1 -1
- package/dist/esm/index.mjs +215 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm-legacy/index.mjs +215 -0
- package/dist/esm-legacy/index.mjs.map +1 -1
- 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/queue-typed.js +215 -0
- package/dist/umd/queue-typed.js.map +1 -1
- package/dist/umd/queue-typed.min.js +1 -1
- package/dist/umd/queue-typed.min.js.map +1 -1
- package/package.json +2 -2
- 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/dist/umd/queue-typed.js
CHANGED
|
@@ -823,6 +823,10 @@ var queueTyped = (() => {
|
|
|
823
823
|
|
|
824
824
|
|
|
825
825
|
|
|
826
|
+
|
|
827
|
+
|
|
828
|
+
|
|
829
|
+
|
|
826
830
|
|
|
827
831
|
|
|
828
832
|
|
|
@@ -890,6 +894,10 @@ var queueTyped = (() => {
|
|
|
890
894
|
|
|
891
895
|
|
|
892
896
|
|
|
897
|
+
|
|
898
|
+
|
|
899
|
+
|
|
900
|
+
|
|
893
901
|
|
|
894
902
|
|
|
895
903
|
|
|
@@ -963,6 +971,10 @@ var queueTyped = (() => {
|
|
|
963
971
|
|
|
964
972
|
|
|
965
973
|
|
|
974
|
+
|
|
975
|
+
|
|
976
|
+
|
|
977
|
+
|
|
966
978
|
|
|
967
979
|
|
|
968
980
|
|
|
@@ -1017,6 +1029,10 @@ var queueTyped = (() => {
|
|
|
1017
1029
|
|
|
1018
1030
|
|
|
1019
1031
|
|
|
1032
|
+
|
|
1033
|
+
|
|
1034
|
+
|
|
1035
|
+
|
|
1020
1036
|
|
|
1021
1037
|
|
|
1022
1038
|
|
|
@@ -1132,6 +1148,10 @@ var queueTyped = (() => {
|
|
|
1132
1148
|
|
|
1133
1149
|
|
|
1134
1150
|
|
|
1151
|
+
|
|
1152
|
+
|
|
1153
|
+
|
|
1154
|
+
|
|
1135
1155
|
|
|
1136
1156
|
|
|
1137
1157
|
|
|
@@ -1191,6 +1211,10 @@ var queueTyped = (() => {
|
|
|
1191
1211
|
|
|
1192
1212
|
|
|
1193
1213
|
|
|
1214
|
+
|
|
1215
|
+
|
|
1216
|
+
|
|
1217
|
+
|
|
1194
1218
|
|
|
1195
1219
|
|
|
1196
1220
|
|
|
@@ -1239,6 +1263,10 @@ var queueTyped = (() => {
|
|
|
1239
1263
|
|
|
1240
1264
|
|
|
1241
1265
|
|
|
1266
|
+
|
|
1267
|
+
|
|
1268
|
+
|
|
1269
|
+
|
|
1242
1270
|
|
|
1243
1271
|
|
|
1244
1272
|
|
|
@@ -1293,6 +1321,10 @@ var queueTyped = (() => {
|
|
|
1293
1321
|
|
|
1294
1322
|
|
|
1295
1323
|
|
|
1324
|
+
|
|
1325
|
+
|
|
1326
|
+
|
|
1327
|
+
|
|
1296
1328
|
|
|
1297
1329
|
|
|
1298
1330
|
|
|
@@ -1352,6 +1384,10 @@ var queueTyped = (() => {
|
|
|
1352
1384
|
|
|
1353
1385
|
|
|
1354
1386
|
|
|
1387
|
+
|
|
1388
|
+
|
|
1389
|
+
|
|
1390
|
+
|
|
1355
1391
|
|
|
1356
1392
|
|
|
1357
1393
|
|
|
@@ -1419,6 +1455,10 @@ var queueTyped = (() => {
|
|
|
1419
1455
|
|
|
1420
1456
|
|
|
1421
1457
|
|
|
1458
|
+
|
|
1459
|
+
|
|
1460
|
+
|
|
1461
|
+
|
|
1422
1462
|
|
|
1423
1463
|
|
|
1424
1464
|
|
|
@@ -1463,6 +1503,10 @@ var queueTyped = (() => {
|
|
|
1463
1503
|
|
|
1464
1504
|
|
|
1465
1505
|
|
|
1506
|
+
|
|
1507
|
+
|
|
1508
|
+
|
|
1509
|
+
|
|
1466
1510
|
|
|
1467
1511
|
|
|
1468
1512
|
|
|
@@ -1513,6 +1557,10 @@ var queueTyped = (() => {
|
|
|
1513
1557
|
|
|
1514
1558
|
|
|
1515
1559
|
|
|
1560
|
+
|
|
1561
|
+
|
|
1562
|
+
|
|
1563
|
+
|
|
1516
1564
|
|
|
1517
1565
|
|
|
1518
1566
|
|
|
@@ -1729,6 +1777,10 @@ var queueTyped = (() => {
|
|
|
1729
1777
|
|
|
1730
1778
|
|
|
1731
1779
|
|
|
1780
|
+
|
|
1781
|
+
|
|
1782
|
+
|
|
1783
|
+
|
|
1732
1784
|
|
|
1733
1785
|
|
|
1734
1786
|
|
|
@@ -1783,6 +1835,10 @@ var queueTyped = (() => {
|
|
|
1783
1835
|
|
|
1784
1836
|
|
|
1785
1837
|
|
|
1838
|
+
|
|
1839
|
+
|
|
1840
|
+
|
|
1841
|
+
|
|
1786
1842
|
|
|
1787
1843
|
|
|
1788
1844
|
|
|
@@ -1865,6 +1921,10 @@ var queueTyped = (() => {
|
|
|
1865
1921
|
|
|
1866
1922
|
|
|
1867
1923
|
|
|
1924
|
+
|
|
1925
|
+
|
|
1926
|
+
|
|
1927
|
+
|
|
1868
1928
|
|
|
1869
1929
|
|
|
1870
1930
|
|
|
@@ -2096,6 +2156,10 @@ var queueTyped = (() => {
|
|
|
2096
2156
|
|
|
2097
2157
|
|
|
2098
2158
|
|
|
2159
|
+
|
|
2160
|
+
|
|
2161
|
+
|
|
2162
|
+
|
|
2099
2163
|
|
|
2100
2164
|
|
|
2101
2165
|
|
|
@@ -2146,6 +2210,10 @@ var queueTyped = (() => {
|
|
|
2146
2210
|
|
|
2147
2211
|
|
|
2148
2212
|
|
|
2213
|
+
|
|
2214
|
+
|
|
2215
|
+
|
|
2216
|
+
|
|
2149
2217
|
|
|
2150
2218
|
|
|
2151
2219
|
|
|
@@ -2160,6 +2228,14 @@ var queueTyped = (() => {
|
|
|
2160
2228
|
get first() {
|
|
2161
2229
|
return this.length > 0 ? this.elements[this._offset] : void 0;
|
|
2162
2230
|
}
|
|
2231
|
+
/**
|
|
2232
|
+
* Peek at the front element without removing it (alias for `first`).
|
|
2233
|
+
* @remarks Time O(1), Space O(1)
|
|
2234
|
+
* @returns Front element or undefined.
|
|
2235
|
+
*/
|
|
2236
|
+
peek() {
|
|
2237
|
+
return this.first;
|
|
2238
|
+
}
|
|
2163
2239
|
/**
|
|
2164
2240
|
* Get the last element (back) without removing it.
|
|
2165
2241
|
* @remarks Time O(1), Space O(1)
|
|
@@ -2212,6 +2288,10 @@ var queueTyped = (() => {
|
|
|
2212
2288
|
|
|
2213
2289
|
|
|
2214
2290
|
|
|
2291
|
+
|
|
2292
|
+
|
|
2293
|
+
|
|
2294
|
+
|
|
2215
2295
|
|
|
2216
2296
|
|
|
2217
2297
|
|
|
@@ -2274,6 +2354,10 @@ var queueTyped = (() => {
|
|
|
2274
2354
|
|
|
2275
2355
|
|
|
2276
2356
|
|
|
2357
|
+
|
|
2358
|
+
|
|
2359
|
+
|
|
2360
|
+
|
|
2277
2361
|
|
|
2278
2362
|
|
|
2279
2363
|
|
|
@@ -2343,6 +2427,10 @@ var queueTyped = (() => {
|
|
|
2343
2427
|
|
|
2344
2428
|
|
|
2345
2429
|
|
|
2430
|
+
|
|
2431
|
+
|
|
2432
|
+
|
|
2433
|
+
|
|
2346
2434
|
|
|
2347
2435
|
|
|
2348
2436
|
|
|
@@ -2402,6 +2490,10 @@ var queueTyped = (() => {
|
|
|
2402
2490
|
|
|
2403
2491
|
|
|
2404
2492
|
|
|
2493
|
+
|
|
2494
|
+
|
|
2495
|
+
|
|
2496
|
+
|
|
2405
2497
|
|
|
2406
2498
|
|
|
2407
2499
|
|
|
@@ -2454,6 +2546,10 @@ var queueTyped = (() => {
|
|
|
2454
2546
|
|
|
2455
2547
|
|
|
2456
2548
|
|
|
2549
|
+
|
|
2550
|
+
|
|
2551
|
+
|
|
2552
|
+
|
|
2457
2553
|
|
|
2458
2554
|
|
|
2459
2555
|
|
|
@@ -2505,6 +2601,21 @@ var queueTyped = (() => {
|
|
|
2505
2601
|
this._elements[this._offset + index] = newElement;
|
|
2506
2602
|
return true;
|
|
2507
2603
|
}
|
|
2604
|
+
/**
|
|
2605
|
+
* Delete the first element that satisfies a predicate.
|
|
2606
|
+
* @remarks Time O(N), Space O(N)
|
|
2607
|
+
* @param predicate - Function (value, index, queue) → boolean to decide deletion.
|
|
2608
|
+
* @returns True if a match was removed.
|
|
2609
|
+
*/
|
|
2610
|
+
deleteWhere(predicate) {
|
|
2611
|
+
for (let i = 0; i < this.length; i++) {
|
|
2612
|
+
if (predicate(this._elements[this._offset + i], i, this)) {
|
|
2613
|
+
this.deleteAt(i);
|
|
2614
|
+
return true;
|
|
2615
|
+
}
|
|
2616
|
+
}
|
|
2617
|
+
return false;
|
|
2618
|
+
}
|
|
2508
2619
|
/**
|
|
2509
2620
|
* Reverse the queue in-place by compacting then reversing.
|
|
2510
2621
|
* @remarks Time O(N), Space O(N)
|
|
@@ -2547,6 +2658,10 @@ var queueTyped = (() => {
|
|
|
2547
2658
|
|
|
2548
2659
|
|
|
2549
2660
|
|
|
2661
|
+
|
|
2662
|
+
|
|
2663
|
+
|
|
2664
|
+
|
|
2550
2665
|
|
|
2551
2666
|
|
|
2552
2667
|
|
|
@@ -2593,6 +2708,10 @@ var queueTyped = (() => {
|
|
|
2593
2708
|
|
|
2594
2709
|
|
|
2595
2710
|
|
|
2711
|
+
|
|
2712
|
+
|
|
2713
|
+
|
|
2714
|
+
|
|
2596
2715
|
|
|
2597
2716
|
|
|
2598
2717
|
|
|
@@ -2662,6 +2781,10 @@ var queueTyped = (() => {
|
|
|
2662
2781
|
|
|
2663
2782
|
|
|
2664
2783
|
|
|
2784
|
+
|
|
2785
|
+
|
|
2786
|
+
|
|
2787
|
+
|
|
2665
2788
|
|
|
2666
2789
|
|
|
2667
2790
|
|
|
@@ -2715,6 +2838,10 @@ var queueTyped = (() => {
|
|
|
2715
2838
|
|
|
2716
2839
|
|
|
2717
2840
|
|
|
2841
|
+
|
|
2842
|
+
|
|
2843
|
+
|
|
2844
|
+
|
|
2718
2845
|
|
|
2719
2846
|
|
|
2720
2847
|
|
|
@@ -2772,6 +2899,10 @@ var queueTyped = (() => {
|
|
|
2772
2899
|
|
|
2773
2900
|
|
|
2774
2901
|
|
|
2902
|
+
|
|
2903
|
+
|
|
2904
|
+
|
|
2905
|
+
|
|
2775
2906
|
|
|
2776
2907
|
|
|
2777
2908
|
|
|
@@ -3047,6 +3178,9 @@ var queueTyped = (() => {
|
|
|
3047
3178
|
|
|
3048
3179
|
|
|
3049
3180
|
|
|
3181
|
+
|
|
3182
|
+
|
|
3183
|
+
|
|
3050
3184
|
|
|
3051
3185
|
|
|
3052
3186
|
|
|
@@ -3064,6 +3198,31 @@ var queueTyped = (() => {
|
|
|
3064
3198
|
* console.log(last); // 50;
|
|
3065
3199
|
*
|
|
3066
3200
|
* // Length unchanged
|
|
3201
|
+
* console.log(deque.length); // 5;
|
|
3202
|
+
*/
|
|
3203
|
+
/**
|
|
3204
|
+
* Peek at the front element without removing it (alias for `first`).
|
|
3205
|
+
* @remarks Time O(1), Space O(1)
|
|
3206
|
+
* @returns Front element or undefined.
|
|
3207
|
+
*/
|
|
3208
|
+
peek() {
|
|
3209
|
+
return this.first;
|
|
3210
|
+
}
|
|
3211
|
+
/**
|
|
3212
|
+
* Deque peek at both ends
|
|
3213
|
+
* @example
|
|
3214
|
+
* // Deque peek at both ends
|
|
3215
|
+
* const deque = new Deque<number>([10, 20, 30, 40, 50]);
|
|
3216
|
+
*
|
|
3217
|
+
* // Get first element without removing
|
|
3218
|
+
* const first = deque.at(0);
|
|
3219
|
+
* console.log(first); // 10;
|
|
3220
|
+
*
|
|
3221
|
+
* // Get last element without removing
|
|
3222
|
+
* const last = deque.at(deque.length - 1);
|
|
3223
|
+
* console.log(last); // 50;
|
|
3224
|
+
*
|
|
3225
|
+
* // Length unchanged
|
|
3067
3226
|
* console.log(deque.length); // 5;
|
|
3068
3227
|
*/
|
|
3069
3228
|
get first() {
|
|
@@ -3104,6 +3263,10 @@ var queueTyped = (() => {
|
|
|
3104
3263
|
|
|
3105
3264
|
|
|
3106
3265
|
|
|
3266
|
+
|
|
3267
|
+
|
|
3268
|
+
|
|
3269
|
+
|
|
3107
3270
|
|
|
3108
3271
|
|
|
3109
3272
|
|
|
@@ -3167,6 +3330,10 @@ var queueTyped = (() => {
|
|
|
3167
3330
|
|
|
3168
3331
|
|
|
3169
3332
|
|
|
3333
|
+
|
|
3334
|
+
|
|
3335
|
+
|
|
3336
|
+
|
|
3170
3337
|
|
|
3171
3338
|
|
|
3172
3339
|
|
|
@@ -3243,6 +3410,10 @@ var queueTyped = (() => {
|
|
|
3243
3410
|
|
|
3244
3411
|
|
|
3245
3412
|
|
|
3413
|
+
|
|
3414
|
+
|
|
3415
|
+
|
|
3416
|
+
|
|
3246
3417
|
|
|
3247
3418
|
|
|
3248
3419
|
|
|
@@ -3306,6 +3477,10 @@ var queueTyped = (() => {
|
|
|
3306
3477
|
|
|
3307
3478
|
|
|
3308
3479
|
|
|
3480
|
+
|
|
3481
|
+
|
|
3482
|
+
|
|
3483
|
+
|
|
3309
3484
|
|
|
3310
3485
|
|
|
3311
3486
|
|
|
@@ -3370,6 +3545,10 @@ var queueTyped = (() => {
|
|
|
3370
3545
|
|
|
3371
3546
|
|
|
3372
3547
|
|
|
3548
|
+
|
|
3549
|
+
|
|
3550
|
+
|
|
3551
|
+
|
|
3373
3552
|
|
|
3374
3553
|
|
|
3375
3554
|
|
|
@@ -3475,6 +3654,10 @@ var queueTyped = (() => {
|
|
|
3475
3654
|
|
|
3476
3655
|
|
|
3477
3656
|
|
|
3657
|
+
|
|
3658
|
+
|
|
3659
|
+
|
|
3660
|
+
|
|
3478
3661
|
|
|
3479
3662
|
|
|
3480
3663
|
|
|
@@ -3520,6 +3703,10 @@ var queueTyped = (() => {
|
|
|
3520
3703
|
|
|
3521
3704
|
|
|
3522
3705
|
|
|
3706
|
+
|
|
3707
|
+
|
|
3708
|
+
|
|
3709
|
+
|
|
3523
3710
|
|
|
3524
3711
|
|
|
3525
3712
|
|
|
@@ -3569,6 +3756,10 @@ var queueTyped = (() => {
|
|
|
3569
3756
|
|
|
3570
3757
|
|
|
3571
3758
|
|
|
3759
|
+
|
|
3760
|
+
|
|
3761
|
+
|
|
3762
|
+
|
|
3572
3763
|
|
|
3573
3764
|
|
|
3574
3765
|
|
|
@@ -3769,6 +3960,10 @@ var queueTyped = (() => {
|
|
|
3769
3960
|
|
|
3770
3961
|
|
|
3771
3962
|
|
|
3963
|
+
|
|
3964
|
+
|
|
3965
|
+
|
|
3966
|
+
|
|
3772
3967
|
|
|
3773
3968
|
|
|
3774
3969
|
|
|
@@ -3856,6 +4051,10 @@ var queueTyped = (() => {
|
|
|
3856
4051
|
|
|
3857
4052
|
|
|
3858
4053
|
|
|
4054
|
+
|
|
4055
|
+
|
|
4056
|
+
|
|
4057
|
+
|
|
3859
4058
|
|
|
3860
4059
|
|
|
3861
4060
|
|
|
@@ -3968,6 +4167,10 @@ var queueTyped = (() => {
|
|
|
3968
4167
|
|
|
3969
4168
|
|
|
3970
4169
|
|
|
4170
|
+
|
|
4171
|
+
|
|
4172
|
+
|
|
4173
|
+
|
|
3971
4174
|
|
|
3972
4175
|
|
|
3973
4176
|
|
|
@@ -4039,6 +4242,10 @@ var queueTyped = (() => {
|
|
|
4039
4242
|
|
|
4040
4243
|
|
|
4041
4244
|
|
|
4245
|
+
|
|
4246
|
+
|
|
4247
|
+
|
|
4248
|
+
|
|
4042
4249
|
|
|
4043
4250
|
|
|
4044
4251
|
|
|
@@ -4093,6 +4300,10 @@ var queueTyped = (() => {
|
|
|
4093
4300
|
|
|
4094
4301
|
|
|
4095
4302
|
|
|
4303
|
+
|
|
4304
|
+
|
|
4305
|
+
|
|
4306
|
+
|
|
4096
4307
|
|
|
4097
4308
|
|
|
4098
4309
|
|
|
@@ -4167,6 +4378,10 @@ var queueTyped = (() => {
|
|
|
4167
4378
|
|
|
4168
4379
|
|
|
4169
4380
|
|
|
4381
|
+
|
|
4382
|
+
|
|
4383
|
+
|
|
4384
|
+
|
|
4170
4385
|
|
|
4171
4386
|
|
|
4172
4387
|
|