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.
Files changed (59) hide show
  1. package/dist/cjs/index.cjs +215 -0
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs-legacy/index.cjs +215 -0
  4. package/dist/cjs-legacy/index.cjs.map +1 -1
  5. package/dist/esm/index.mjs +215 -0
  6. package/dist/esm/index.mjs.map +1 -1
  7. package/dist/esm-legacy/index.mjs +215 -0
  8. package/dist/esm-legacy/index.mjs.map +1 -1
  9. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +50 -2
  10. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +56 -0
  11. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +116 -15
  12. package/dist/types/data-structures/binary-tree/bst.d.ts +99 -3
  13. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +79 -8
  14. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +24 -0
  15. package/dist/types/data-structures/binary-tree/tree-map.d.ts +520 -1
  16. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +489 -1
  17. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +393 -1
  18. package/dist/types/data-structures/binary-tree/tree-set.d.ts +500 -1
  19. package/dist/types/data-structures/graph/directed-graph.d.ts +40 -0
  20. package/dist/types/data-structures/graph/undirected-graph.d.ts +36 -0
  21. package/dist/types/data-structures/hash/hash-map.d.ts +51 -6
  22. package/dist/types/data-structures/heap/heap.d.ts +98 -12
  23. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +75 -0
  24. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +61 -1
  25. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +72 -0
  26. package/dist/types/data-structures/matrix/matrix.d.ts +32 -0
  27. package/dist/types/data-structures/queue/deque.d.ts +82 -0
  28. package/dist/types/data-structures/queue/queue.d.ts +61 -0
  29. package/dist/types/data-structures/stack/stack.d.ts +42 -2
  30. package/dist/types/data-structures/trie/trie.d.ts +48 -0
  31. package/dist/types/interfaces/binary-tree.d.ts +2 -3
  32. package/dist/umd/queue-typed.js +215 -0
  33. package/dist/umd/queue-typed.js.map +1 -1
  34. package/dist/umd/queue-typed.min.js +1 -1
  35. package/dist/umd/queue-typed.min.js.map +1 -1
  36. package/package.json +2 -2
  37. package/src/data-structures/binary-tree/avl-tree.ts +52 -5
  38. package/src/data-structures/binary-tree/binary-indexed-tree.ts +56 -0
  39. package/src/data-structures/binary-tree/binary-tree.ts +167 -81
  40. package/src/data-structures/binary-tree/bst.ts +101 -7
  41. package/src/data-structures/binary-tree/red-black-tree.ts +82 -15
  42. package/src/data-structures/binary-tree/segment-tree.ts +24 -0
  43. package/src/data-structures/binary-tree/tree-map.ts +540 -3
  44. package/src/data-structures/binary-tree/tree-multi-map.ts +490 -2
  45. package/src/data-structures/binary-tree/tree-multi-set.ts +393 -1
  46. package/src/data-structures/binary-tree/tree-set.ts +520 -3
  47. package/src/data-structures/graph/directed-graph.ts +41 -1
  48. package/src/data-structures/graph/undirected-graph.ts +37 -1
  49. package/src/data-structures/hash/hash-map.ts +67 -12
  50. package/src/data-structures/heap/heap.ts +107 -19
  51. package/src/data-structures/linked-list/doubly-linked-list.ts +88 -0
  52. package/src/data-structures/linked-list/singly-linked-list.ts +61 -1
  53. package/src/data-structures/linked-list/skip-linked-list.ts +72 -0
  54. package/src/data-structures/matrix/matrix.ts +32 -0
  55. package/src/data-structures/queue/deque.ts +85 -0
  56. package/src/data-structures/queue/queue.ts +73 -0
  57. package/src/data-structures/stack/stack.ts +45 -5
  58. package/src/data-structures/trie/trie.ts +48 -0
  59. package/src/interfaces/binary-tree.ts +1 -9
@@ -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