data-structure-typed 2.5.3 → 2.6.1
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/.github/workflows/ci.yml +7 -2
- package/.github/workflows/release-package.yml +9 -2
- package/.husky/pre-commit +3 -0
- package/CHANGELOG.md +1 -1
- package/MIGRATION.md +48 -0
- package/README.md +20 -2
- package/README_CN.md +20 -2
- package/SPECIFICATION.md +24 -0
- package/SPECIFICATION.zh-CN.md +24 -0
- package/dist/cjs/binary-tree.cjs +1897 -19
- package/dist/cjs/graph.cjs +174 -0
- package/dist/cjs/hash.cjs +33 -0
- package/dist/cjs/heap.cjs +71 -0
- package/dist/cjs/index.cjs +2383 -3
- package/dist/cjs/linked-list.cjs +224 -2
- package/dist/cjs/matrix.cjs +24 -0
- package/dist/cjs/priority-queue.cjs +71 -0
- package/dist/cjs/queue.cjs +221 -1
- package/dist/cjs/stack.cjs +59 -0
- package/dist/cjs/trie.cjs +62 -0
- package/dist/cjs-legacy/binary-tree.cjs +1897 -19
- package/dist/cjs-legacy/graph.cjs +174 -0
- package/dist/cjs-legacy/hash.cjs +33 -0
- package/dist/cjs-legacy/heap.cjs +71 -0
- package/dist/cjs-legacy/index.cjs +2383 -3
- package/dist/cjs-legacy/linked-list.cjs +224 -2
- package/dist/cjs-legacy/matrix.cjs +24 -0
- package/dist/cjs-legacy/priority-queue.cjs +71 -0
- package/dist/cjs-legacy/queue.cjs +221 -1
- package/dist/cjs-legacy/stack.cjs +59 -0
- package/dist/cjs-legacy/trie.cjs +62 -0
- package/dist/esm/binary-tree.mjs +1897 -19
- package/dist/esm/graph.mjs +174 -0
- package/dist/esm/hash.mjs +33 -0
- package/dist/esm/heap.mjs +71 -0
- package/dist/esm/index.mjs +2383 -3
- package/dist/esm/linked-list.mjs +224 -2
- package/dist/esm/matrix.mjs +24 -0
- package/dist/esm/priority-queue.mjs +71 -0
- package/dist/esm/queue.mjs +221 -1
- package/dist/esm/stack.mjs +59 -0
- package/dist/esm/trie.mjs +62 -0
- package/dist/esm-legacy/binary-tree.mjs +1897 -19
- package/dist/esm-legacy/graph.mjs +174 -0
- package/dist/esm-legacy/hash.mjs +33 -0
- package/dist/esm-legacy/heap.mjs +71 -0
- package/dist/esm-legacy/index.mjs +2383 -3
- package/dist/esm-legacy/linked-list.mjs +224 -2
- package/dist/esm-legacy/matrix.mjs +24 -0
- package/dist/esm-legacy/priority-queue.mjs +71 -0
- package/dist/esm-legacy/queue.mjs +221 -1
- package/dist/esm-legacy/stack.mjs +59 -0
- package/dist/esm-legacy/trie.mjs +62 -0
- package/dist/types/data-structures/base/iterable-element-base.d.ts +17 -0
- package/dist/types/data-structures/base/linear-base.d.ts +6 -0
- package/dist/types/data-structures/binary-tree/avl-tree.d.ts +36 -0
- package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +42 -0
- package/dist/types/data-structures/binary-tree/binary-tree.d.ts +75 -0
- package/dist/types/data-structures/binary-tree/bst.d.ts +72 -0
- package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +57 -0
- package/dist/types/data-structures/binary-tree/segment-tree.d.ts +18 -0
- package/dist/types/data-structures/binary-tree/tree-map.d.ts +375 -0
- package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +389 -0
- package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +330 -0
- package/dist/types/data-structures/binary-tree/tree-set.d.ts +438 -0
- package/dist/types/data-structures/graph/directed-graph.d.ts +30 -0
- package/dist/types/data-structures/graph/undirected-graph.d.ts +27 -0
- package/dist/types/data-structures/hash/hash-map.d.ts +33 -0
- package/dist/types/data-structures/heap/heap.d.ts +42 -0
- package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +75 -2
- package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +45 -0
- package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +54 -0
- package/dist/types/data-structures/matrix/matrix.d.ts +24 -0
- package/dist/types/data-structures/queue/deque.d.ts +90 -1
- package/dist/types/data-structures/queue/queue.d.ts +36 -0
- package/dist/types/data-structures/stack/stack.d.ts +30 -0
- package/dist/types/data-structures/trie/trie.d.ts +36 -0
- package/dist/umd/data-structure-typed.js +2383 -3
- package/dist/umd/data-structure-typed.min.js +3 -3
- package/docs-site-docusaurus/docs/api/classes/AVLTree.md +108 -108
- package/docs-site-docusaurus/docs/api/classes/BST.md +101 -101
- package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +13 -13
- package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +66 -66
- package/docs-site-docusaurus/docs/api/classes/Deque.md +235 -51
- package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +21 -21
- package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +231 -67
- package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +9 -9
- package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +1 -1
- package/docs-site-docusaurus/docs/api/classes/HashMap.md +14 -14
- package/docs-site-docusaurus/docs/api/classes/Heap.md +117 -34
- package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +83 -13
- package/docs-site-docusaurus/docs/api/classes/LinearBase.md +124 -20
- package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +140 -32
- package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +30 -26
- package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +159 -51
- package/docs-site-docusaurus/docs/api/classes/MapGraph.md +20 -20
- package/docs-site-docusaurus/docs/api/classes/Matrix.md +23 -23
- package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +117 -34
- package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +117 -34
- package/docs-site-docusaurus/docs/api/classes/MinHeap.md +117 -34
- package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +117 -34
- package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +117 -34
- package/docs-site-docusaurus/docs/api/classes/Queue.md +142 -34
- package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +117 -117
- package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +8 -8
- package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +158 -50
- package/docs-site-docusaurus/docs/api/classes/SkipList.md +21 -21
- package/docs-site-docusaurus/docs/api/classes/Stack.md +108 -26
- package/docs-site-docusaurus/docs/api/classes/TreeMap.md +33 -33
- package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +75 -39
- package/docs-site-docusaurus/docs/api/classes/TreeSet.md +301 -39
- package/docs-site-docusaurus/docs/api/classes/Trie.md +110 -28
- package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +20 -20
- package/jest.integration.config.js +1 -2
- package/package.json +51 -50
- package/src/common/error.ts +15 -32
- package/src/common/index.ts +0 -3
- package/src/data-structures/base/iterable-element-base.ts +32 -3
- package/src/data-structures/base/linear-base.ts +13 -36
- package/src/data-structures/binary-tree/avl-tree.ts +31 -493
- package/src/data-structures/binary-tree/binary-indexed-tree.ts +47 -530
- package/src/data-structures/binary-tree/binary-tree.ts +326 -1236
- package/src/data-structures/binary-tree/bst.ts +158 -1010
- package/src/data-structures/binary-tree/red-black-tree.ts +451 -1233
- package/src/data-structures/binary-tree/segment-tree.ts +73 -333
- package/src/data-structures/binary-tree/tree-map.ts +462 -4749
- package/src/data-structures/binary-tree/tree-multi-map.ts +310 -4530
- package/src/data-structures/binary-tree/tree-multi-set.ts +300 -3652
- package/src/data-structures/binary-tree/tree-set.ts +437 -4443
- package/src/data-structures/graph/abstract-graph.ts +98 -167
- package/src/data-structures/graph/directed-graph.ts +137 -532
- package/src/data-structures/graph/map-graph.ts +0 -3
- package/src/data-structures/graph/undirected-graph.ts +132 -484
- package/src/data-structures/hash/hash-map.ts +154 -549
- package/src/data-structures/heap/heap.ts +200 -753
- package/src/data-structures/linked-list/doubly-linked-list.ts +153 -809
- package/src/data-structures/linked-list/singly-linked-list.ts +122 -749
- package/src/data-structures/linked-list/skip-linked-list.ts +211 -864
- package/src/data-structures/matrix/matrix.ts +179 -494
- package/src/data-structures/matrix/navigator.ts +0 -1
- package/src/data-structures/priority-queue/max-priority-queue.ts +1 -6
- package/src/data-structures/priority-queue/min-priority-queue.ts +6 -11
- package/src/data-structures/priority-queue/priority-queue.ts +1 -2
- package/src/data-structures/queue/deque.ts +241 -807
- package/src/data-structures/queue/queue.ts +102 -589
- package/src/data-structures/stack/stack.ts +76 -475
- package/src/data-structures/trie/trie.ts +98 -592
- package/src/types/common.ts +0 -10
- package/src/types/data-structures/binary-tree/bst.ts +0 -7
- package/src/types/data-structures/binary-tree/red-black-tree.ts +0 -1
- package/src/types/data-structures/graph/abstract-graph.ts +0 -2
- package/src/types/data-structures/hash/hash-map.ts +0 -3
- package/src/types/data-structures/hash/index.ts +0 -1
- package/src/types/data-structures/matrix/navigator.ts +0 -2
- package/src/types/utils/utils.ts +0 -7
- package/src/types/utils/validate-type.ts +0 -7
- package/src/utils/number.ts +0 -2
- package/src/utils/utils.ts +0 -5
|
@@ -109,7 +109,7 @@ Iterable.[iterator]
|
|
|
109
109
|
abstract clear(): void;
|
|
110
110
|
```
|
|
111
111
|
|
|
112
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
112
|
+
Defined in: [data-structures/base/iterable-element-base.ts:321](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L321)
|
|
113
113
|
|
|
114
114
|
Removes all elements from the structure.
|
|
115
115
|
|
|
@@ -131,7 +131,7 @@ Expected Time O(1) or O(n) depending on the implementation; Space O(1).
|
|
|
131
131
|
abstract clone(): this;
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
134
|
+
Defined in: [data-structures/base/iterable-element-base.ts:330](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L330)
|
|
135
135
|
|
|
136
136
|
Creates a structural copy with the same element values and configuration.
|
|
137
137
|
|
|
@@ -147,6 +147,26 @@ Expected Time O(n) to copy elements; Space O(n).
|
|
|
147
147
|
|
|
148
148
|
***
|
|
149
149
|
|
|
150
|
+
### entries()
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
entries(): IterableIterator<[number, E]>;
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Defined in: [data-structures/base/iterable-element-base.ts:208](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L208)
|
|
157
|
+
|
|
158
|
+
Return an iterator of `[index, value]` pairs (Array-compatible).
|
|
159
|
+
|
|
160
|
+
#### Returns
|
|
161
|
+
|
|
162
|
+
`IterableIterator`\<\[`number`, `E`\]\>
|
|
163
|
+
|
|
164
|
+
#### Remarks
|
|
165
|
+
|
|
166
|
+
Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
|
|
167
|
+
|
|
168
|
+
***
|
|
169
|
+
|
|
150
170
|
### every()
|
|
151
171
|
|
|
152
172
|
```ts
|
|
@@ -189,7 +209,7 @@ Time O(n) in the worst case; may exit early when the first failure is found. Spa
|
|
|
189
209
|
abstract filter(predicate, thisArg?): this;
|
|
190
210
|
```
|
|
191
211
|
|
|
192
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
212
|
+
Defined in: [data-structures/base/iterable-element-base.ts:373](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L373)
|
|
193
213
|
|
|
194
214
|
Filters elements using the provided predicate and returns the same concrete structure type.
|
|
195
215
|
|
|
@@ -367,13 +387,43 @@ Time O(n) in the worst case. Space O(1).
|
|
|
367
387
|
|
|
368
388
|
***
|
|
369
389
|
|
|
390
|
+
### includes()
|
|
391
|
+
|
|
392
|
+
```ts
|
|
393
|
+
includes(element): boolean;
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
Defined in: [data-structures/base/iterable-element-base.ts:200](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L200)
|
|
397
|
+
|
|
398
|
+
Check whether a value exists (Array-compatible alias for `has`).
|
|
399
|
+
|
|
400
|
+
#### Parameters
|
|
401
|
+
|
|
402
|
+
##### element
|
|
403
|
+
|
|
404
|
+
`E`
|
|
405
|
+
|
|
406
|
+
Element to search for (uses `===`).
|
|
407
|
+
|
|
408
|
+
#### Returns
|
|
409
|
+
|
|
410
|
+
`boolean`
|
|
411
|
+
|
|
412
|
+
`true` if found.
|
|
413
|
+
|
|
414
|
+
#### Remarks
|
|
415
|
+
|
|
416
|
+
Provided for familiarity when migrating from Array. Time O(n), Space O(1).
|
|
417
|
+
|
|
418
|
+
***
|
|
419
|
+
|
|
370
420
|
### isEmpty()
|
|
371
421
|
|
|
372
422
|
```ts
|
|
373
423
|
abstract isEmpty(): boolean;
|
|
374
424
|
```
|
|
375
425
|
|
|
376
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
426
|
+
Defined in: [data-structures/base/iterable-element-base.ts:312](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L312)
|
|
377
427
|
|
|
378
428
|
Indicates whether the structure currently contains no elements.
|
|
379
429
|
|
|
@@ -389,6 +439,26 @@ Expected Time O(1), Space O(1) for most implementations.
|
|
|
389
439
|
|
|
390
440
|
***
|
|
391
441
|
|
|
442
|
+
### keys()
|
|
443
|
+
|
|
444
|
+
```ts
|
|
445
|
+
keys(): IterableIterator<number>;
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
Defined in: [data-structures/base/iterable-element-base.ts:219](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L219)
|
|
449
|
+
|
|
450
|
+
Return an iterator of numeric indices (Array-compatible).
|
|
451
|
+
|
|
452
|
+
#### Returns
|
|
453
|
+
|
|
454
|
+
`IterableIterator`\<`number`\>
|
|
455
|
+
|
|
456
|
+
#### Remarks
|
|
457
|
+
|
|
458
|
+
Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
|
|
459
|
+
|
|
460
|
+
***
|
|
461
|
+
|
|
392
462
|
### map()
|
|
393
463
|
|
|
394
464
|
```ts
|
|
@@ -398,7 +468,7 @@ abstract map<EM, RM>(
|
|
|
398
468
|
thisArg?): IterableElementBase<EM, RM>;
|
|
399
469
|
```
|
|
400
470
|
|
|
401
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
471
|
+
Defined in: [data-structures/base/iterable-element-base.ts:345](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L345)
|
|
402
472
|
|
|
403
473
|
Maps each element to a new element and returns a new iterable structure.
|
|
404
474
|
|
|
@@ -454,7 +524,7 @@ Time O(n), Space O(n).
|
|
|
454
524
|
abstract mapSame(callback, thisArg?): this;
|
|
455
525
|
```
|
|
456
526
|
|
|
457
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
527
|
+
Defined in: [data-structures/base/iterable-element-base.ts:361](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L361)
|
|
458
528
|
|
|
459
529
|
Maps each element to the same element type and returns the same concrete structure type.
|
|
460
530
|
|
|
@@ -490,7 +560,7 @@ Time O(n), Space O(n).
|
|
|
490
560
|
print(): void;
|
|
491
561
|
```
|
|
492
562
|
|
|
493
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
563
|
+
Defined in: [data-structures/base/iterable-element-base.ts:301](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L301)
|
|
494
564
|
|
|
495
565
|
Prints `toVisual()` to the console. Intended for quick debugging.
|
|
496
566
|
|
|
@@ -544,7 +614,7 @@ Time O(n), Space O(1). Throws if called on an empty structure without `initialVa
|
|
|
544
614
|
reduce(callbackfn): E;
|
|
545
615
|
```
|
|
546
616
|
|
|
547
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
617
|
+
Defined in: [data-structures/base/iterable-element-base.ts:226](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L226)
|
|
548
618
|
|
|
549
619
|
##### Parameters
|
|
550
620
|
|
|
@@ -562,7 +632,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:194](https://github.c
|
|
|
562
632
|
reduce(callbackfn, initialValue): E;
|
|
563
633
|
```
|
|
564
634
|
|
|
565
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
635
|
+
Defined in: [data-structures/base/iterable-element-base.ts:227](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L227)
|
|
566
636
|
|
|
567
637
|
##### Parameters
|
|
568
638
|
|
|
@@ -584,7 +654,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:195](https://github.c
|
|
|
584
654
|
reduce<U>(callbackfn, initialValue): U;
|
|
585
655
|
```
|
|
586
656
|
|
|
587
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
657
|
+
Defined in: [data-structures/base/iterable-element-base.ts:228](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L228)
|
|
588
658
|
|
|
589
659
|
##### Type Parameters
|
|
590
660
|
|
|
@@ -650,7 +720,7 @@ Time O(n) in the worst case; may exit early on first success. Space O(1).
|
|
|
650
720
|
toArray(): E[];
|
|
651
721
|
```
|
|
652
722
|
|
|
653
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
723
|
+
Defined in: [data-structures/base/iterable-element-base.ts:278](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L278)
|
|
654
724
|
|
|
655
725
|
Materializes the elements into a new array.
|
|
656
726
|
|
|
@@ -672,7 +742,7 @@ Time O(n), Space O(n).
|
|
|
672
742
|
toVisual(): E[];
|
|
673
743
|
```
|
|
674
744
|
|
|
675
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
745
|
+
Defined in: [data-structures/base/iterable-element-base.ts:290](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L290)
|
|
676
746
|
|
|
677
747
|
Returns a representation of the structure suitable for quick visualization.
|
|
678
748
|
Defaults to an array of elements; subclasses may override to provide richer visuals.
|
|
@@ -775,7 +845,7 @@ Time O(1), Space O(1).
|
|
|
775
845
|
abstract protected _getIterator(...args): IterableIterator<E>;
|
|
776
846
|
```
|
|
777
847
|
|
|
778
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
848
|
+
Defined in: [data-structures/base/iterable-element-base.ts:384](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L384)
|
|
779
849
|
|
|
780
850
|
Internal iterator factory used by the default iterator.
|
|
781
851
|
|
|
@@ -194,7 +194,7 @@ Producing the iterator is O(1); consuming the entire iterator is Time O(n) with
|
|
|
194
194
|
abstract addAt(index, newElementOrNode): boolean;
|
|
195
195
|
```
|
|
196
196
|
|
|
197
|
-
Defined in: [data-structures/base/linear-base.ts:
|
|
197
|
+
Defined in: [data-structures/base/linear-base.ts:388](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L388)
|
|
198
198
|
|
|
199
199
|
Insert an element/node at a position.
|
|
200
200
|
|
|
@@ -230,7 +230,7 @@ Time O(1)~O(n) depending on implementation, Space O(1)
|
|
|
230
230
|
abstract at(index): E | undefined;
|
|
231
231
|
```
|
|
232
232
|
|
|
233
|
-
Defined in: [data-structures/base/linear-base.ts:
|
|
233
|
+
Defined in: [data-structures/base/linear-base.ts:371](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L371)
|
|
234
234
|
|
|
235
235
|
Get element at an index.
|
|
236
236
|
|
|
@@ -260,7 +260,7 @@ Time O(1)~O(n) depending on implementation, Space O(1)
|
|
|
260
260
|
abstract clear(): void;
|
|
261
261
|
```
|
|
262
262
|
|
|
263
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
263
|
+
Defined in: [data-structures/base/iterable-element-base.ts:321](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L321)
|
|
264
264
|
|
|
265
265
|
Removes all elements from the structure.
|
|
266
266
|
|
|
@@ -342,7 +342,7 @@ Time O(sum(length)), Space O(sum(length))
|
|
|
342
342
|
abstract delete(elementOrNode): boolean;
|
|
343
343
|
```
|
|
344
344
|
|
|
345
|
-
Defined in: [data-structures/base/linear-base.ts:
|
|
345
|
+
Defined in: [data-structures/base/linear-base.ts:363](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L363)
|
|
346
346
|
|
|
347
347
|
Remove one element or node if present.
|
|
348
348
|
|
|
@@ -372,7 +372,7 @@ Time O(1)~O(n) depending on implementation, Space O(1)
|
|
|
372
372
|
abstract deleteAt(pos): E | undefined;
|
|
373
373
|
```
|
|
374
374
|
|
|
375
|
-
Defined in: [data-structures/base/linear-base.ts:
|
|
375
|
+
Defined in: [data-structures/base/linear-base.ts:379](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L379)
|
|
376
376
|
|
|
377
377
|
Remove element at a position.
|
|
378
378
|
|
|
@@ -396,6 +396,30 @@ Time O(1)~O(n) depending on implementation, Space O(1)
|
|
|
396
396
|
|
|
397
397
|
***
|
|
398
398
|
|
|
399
|
+
### entries()
|
|
400
|
+
|
|
401
|
+
```ts
|
|
402
|
+
entries(): IterableIterator<[number, E]>;
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
Defined in: [data-structures/base/iterable-element-base.ts:208](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L208)
|
|
406
|
+
|
|
407
|
+
Return an iterator of `[index, value]` pairs (Array-compatible).
|
|
408
|
+
|
|
409
|
+
#### Returns
|
|
410
|
+
|
|
411
|
+
`IterableIterator`\<\[`number`, `E`\]\>
|
|
412
|
+
|
|
413
|
+
#### Remarks
|
|
414
|
+
|
|
415
|
+
Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
|
|
416
|
+
|
|
417
|
+
#### Inherited from
|
|
418
|
+
|
|
419
|
+
[`IterableElementBase`](IterableElementBase.md).[`entries`](IterableElementBase.md#entries)
|
|
420
|
+
|
|
421
|
+
***
|
|
422
|
+
|
|
399
423
|
### every()
|
|
400
424
|
|
|
401
425
|
```ts
|
|
@@ -487,7 +511,7 @@ Time O(n), Space O(1)
|
|
|
487
511
|
abstract filter(predicate, thisArg?): this;
|
|
488
512
|
```
|
|
489
513
|
|
|
490
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
514
|
+
Defined in: [data-structures/base/iterable-element-base.ts:373](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L373)
|
|
491
515
|
|
|
492
516
|
Filters elements using the provided predicate and returns the same concrete structure type.
|
|
493
517
|
|
|
@@ -721,6 +745,40 @@ Time O(n) in the worst case. Space O(1).
|
|
|
721
745
|
|
|
722
746
|
***
|
|
723
747
|
|
|
748
|
+
### includes()
|
|
749
|
+
|
|
750
|
+
```ts
|
|
751
|
+
includes(element): boolean;
|
|
752
|
+
```
|
|
753
|
+
|
|
754
|
+
Defined in: [data-structures/base/iterable-element-base.ts:200](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L200)
|
|
755
|
+
|
|
756
|
+
Check whether a value exists (Array-compatible alias for `has`).
|
|
757
|
+
|
|
758
|
+
#### Parameters
|
|
759
|
+
|
|
760
|
+
##### element
|
|
761
|
+
|
|
762
|
+
`E`
|
|
763
|
+
|
|
764
|
+
Element to search for (uses `===`).
|
|
765
|
+
|
|
766
|
+
#### Returns
|
|
767
|
+
|
|
768
|
+
`boolean`
|
|
769
|
+
|
|
770
|
+
`true` if found.
|
|
771
|
+
|
|
772
|
+
#### Remarks
|
|
773
|
+
|
|
774
|
+
Provided for familiarity when migrating from Array. Time O(n), Space O(1).
|
|
775
|
+
|
|
776
|
+
#### Inherited from
|
|
777
|
+
|
|
778
|
+
[`IterableElementBase`](IterableElementBase.md).[`includes`](IterableElementBase.md#includes)
|
|
779
|
+
|
|
780
|
+
***
|
|
781
|
+
|
|
724
782
|
### indexOf()
|
|
725
783
|
|
|
726
784
|
```ts
|
|
@@ -763,7 +821,7 @@ Time O(n), Space O(1)
|
|
|
763
821
|
abstract isEmpty(): boolean;
|
|
764
822
|
```
|
|
765
823
|
|
|
766
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
824
|
+
Defined in: [data-structures/base/iterable-element-base.ts:312](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L312)
|
|
767
825
|
|
|
768
826
|
Indicates whether the structure currently contains no elements.
|
|
769
827
|
|
|
@@ -813,6 +871,30 @@ Time O(n), Space O(n)
|
|
|
813
871
|
|
|
814
872
|
***
|
|
815
873
|
|
|
874
|
+
### keys()
|
|
875
|
+
|
|
876
|
+
```ts
|
|
877
|
+
keys(): IterableIterator<number>;
|
|
878
|
+
```
|
|
879
|
+
|
|
880
|
+
Defined in: [data-structures/base/iterable-element-base.ts:219](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L219)
|
|
881
|
+
|
|
882
|
+
Return an iterator of numeric indices (Array-compatible).
|
|
883
|
+
|
|
884
|
+
#### Returns
|
|
885
|
+
|
|
886
|
+
`IterableIterator`\<`number`\>
|
|
887
|
+
|
|
888
|
+
#### Remarks
|
|
889
|
+
|
|
890
|
+
Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
|
|
891
|
+
|
|
892
|
+
#### Inherited from
|
|
893
|
+
|
|
894
|
+
[`IterableElementBase`](IterableElementBase.md).[`keys`](IterableElementBase.md#keys)
|
|
895
|
+
|
|
896
|
+
***
|
|
897
|
+
|
|
816
898
|
### lastIndexOf()
|
|
817
899
|
|
|
818
900
|
```ts
|
|
@@ -858,7 +940,7 @@ abstract map<EM, RM>(
|
|
|
858
940
|
thisArg?): IterableElementBase<EM, RM>;
|
|
859
941
|
```
|
|
860
942
|
|
|
861
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
943
|
+
Defined in: [data-structures/base/iterable-element-base.ts:345](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L345)
|
|
862
944
|
|
|
863
945
|
Maps each element to a new element and returns a new iterable structure.
|
|
864
946
|
|
|
@@ -918,7 +1000,7 @@ Time O(n), Space O(n).
|
|
|
918
1000
|
abstract mapSame(callback, thisArg?): this;
|
|
919
1001
|
```
|
|
920
1002
|
|
|
921
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
1003
|
+
Defined in: [data-structures/base/iterable-element-base.ts:361](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L361)
|
|
922
1004
|
|
|
923
1005
|
Maps each element to the same element type and returns the same concrete structure type.
|
|
924
1006
|
|
|
@@ -958,7 +1040,7 @@ Time O(n), Space O(n).
|
|
|
958
1040
|
print(): void;
|
|
959
1041
|
```
|
|
960
1042
|
|
|
961
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
1043
|
+
Defined in: [data-structures/base/iterable-element-base.ts:301](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L301)
|
|
962
1044
|
|
|
963
1045
|
Prints `toVisual()` to the console. Intended for quick debugging.
|
|
964
1046
|
|
|
@@ -984,7 +1066,7 @@ Time O(n) due to materialization, Space O(n) for the intermediate representation
|
|
|
984
1066
|
abstract push(elementOrNode): boolean;
|
|
985
1067
|
```
|
|
986
1068
|
|
|
987
|
-
Defined in: [data-structures/base/linear-base.ts:
|
|
1069
|
+
Defined in: [data-structures/base/linear-base.ts:347](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L347)
|
|
988
1070
|
|
|
989
1071
|
Append one element or node to the tail.
|
|
990
1072
|
|
|
@@ -1014,7 +1096,7 @@ Time O(1) amortized typical, Space O(1)
|
|
|
1014
1096
|
abstract pushMany(elements): boolean[];
|
|
1015
1097
|
```
|
|
1016
1098
|
|
|
1017
|
-
Defined in: [data-structures/base/linear-base.ts:
|
|
1099
|
+
Defined in: [data-structures/base/linear-base.ts:355](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L355)
|
|
1018
1100
|
|
|
1019
1101
|
Append many elements/nodes at once.
|
|
1020
1102
|
|
|
@@ -1078,7 +1160,7 @@ Time O(n), Space O(1). Throws if called on an empty structure without `initialVa
|
|
|
1078
1160
|
reduce(callbackfn): E;
|
|
1079
1161
|
```
|
|
1080
1162
|
|
|
1081
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
1163
|
+
Defined in: [data-structures/base/iterable-element-base.ts:226](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L226)
|
|
1082
1164
|
|
|
1083
1165
|
##### Parameters
|
|
1084
1166
|
|
|
@@ -1100,7 +1182,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:194](https://github.c
|
|
|
1100
1182
|
reduce(callbackfn, initialValue): E;
|
|
1101
1183
|
```
|
|
1102
1184
|
|
|
1103
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
1185
|
+
Defined in: [data-structures/base/iterable-element-base.ts:227](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L227)
|
|
1104
1186
|
|
|
1105
1187
|
##### Parameters
|
|
1106
1188
|
|
|
@@ -1126,7 +1208,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:195](https://github.c
|
|
|
1126
1208
|
reduce<U>(callbackfn, initialValue): U;
|
|
1127
1209
|
```
|
|
1128
1210
|
|
|
1129
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
1211
|
+
Defined in: [data-structures/base/iterable-element-base.ts:228](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L228)
|
|
1130
1212
|
|
|
1131
1213
|
##### Type Parameters
|
|
1132
1214
|
|
|
@@ -1411,7 +1493,7 @@ Time O(n + m), Space O(min(n, m)) where `m = items.length`
|
|
|
1411
1493
|
toArray(): E[];
|
|
1412
1494
|
```
|
|
1413
1495
|
|
|
1414
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
1496
|
+
Defined in: [data-structures/base/iterable-element-base.ts:278](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L278)
|
|
1415
1497
|
|
|
1416
1498
|
Materializes the elements into a new array.
|
|
1417
1499
|
|
|
@@ -1431,6 +1513,28 @@ Time O(n), Space O(n).
|
|
|
1431
1513
|
|
|
1432
1514
|
***
|
|
1433
1515
|
|
|
1516
|
+
### toReversed()
|
|
1517
|
+
|
|
1518
|
+
```ts
|
|
1519
|
+
toReversed(): this;
|
|
1520
|
+
```
|
|
1521
|
+
|
|
1522
|
+
Defined in: [data-structures/base/linear-base.ts:335](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L335)
|
|
1523
|
+
|
|
1524
|
+
Return a new instance of the same type with elements in reverse order (non-mutating).
|
|
1525
|
+
|
|
1526
|
+
#### Returns
|
|
1527
|
+
|
|
1528
|
+
`this`
|
|
1529
|
+
|
|
1530
|
+
A new reversed instance.
|
|
1531
|
+
|
|
1532
|
+
#### Remarks
|
|
1533
|
+
|
|
1534
|
+
Provided for familiarity when migrating from Array (ES2023 `toReversed`). Time O(n), Space O(n).
|
|
1535
|
+
|
|
1536
|
+
***
|
|
1537
|
+
|
|
1434
1538
|
### toReversedArray()
|
|
1435
1539
|
|
|
1436
1540
|
```ts
|
|
@@ -1459,7 +1563,7 @@ Time O(n), Space O(n)
|
|
|
1459
1563
|
toVisual(): E[];
|
|
1460
1564
|
```
|
|
1461
1565
|
|
|
1462
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
1566
|
+
Defined in: [data-structures/base/iterable-element-base.ts:290](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L290)
|
|
1463
1567
|
|
|
1464
1568
|
Returns a representation of the structure suitable for quick visualization.
|
|
1465
1569
|
Defaults to an array of elements; subclasses may override to provide richer visuals.
|
|
@@ -1545,7 +1649,7 @@ Time O(1), Space O(1).
|
|
|
1545
1649
|
abstract protected _createInstance(options?): this;
|
|
1546
1650
|
```
|
|
1547
1651
|
|
|
1548
|
-
Defined in: [data-structures/base/linear-base.ts:
|
|
1652
|
+
Defined in: [data-structures/base/linear-base.ts:396](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L396)
|
|
1549
1653
|
|
|
1550
1654
|
Create an empty list of the same species.
|
|
1551
1655
|
|
|
@@ -1575,7 +1679,7 @@ Time O(1), Space O(1)
|
|
|
1575
1679
|
abstract protected _getIterator(...args): IterableIterator<E>;
|
|
1576
1680
|
```
|
|
1577
1681
|
|
|
1578
|
-
Defined in: [data-structures/base/iterable-element-base.ts:
|
|
1682
|
+
Defined in: [data-structures/base/iterable-element-base.ts:384](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L384)
|
|
1579
1683
|
|
|
1580
1684
|
Internal iterator factory used by the default iterator.
|
|
1581
1685
|
|
|
@@ -1609,7 +1713,7 @@ Implementations should yield in O(1) per element with O(1) extra space when poss
|
|
|
1609
1713
|
abstract protected _getReverseIterator(...args): IterableIterator<E>;
|
|
1610
1714
|
```
|
|
1611
1715
|
|
|
1612
|
-
Defined in: [data-structures/base/linear-base.ts:
|
|
1716
|
+
Defined in: [data-structures/base/linear-base.ts:403](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L403)
|
|
1613
1717
|
|
|
1614
1718
|
Reverse-direction iterator over elements.
|
|
1615
1719
|
|