queue-typed 2.4.4 → 2.5.0
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/README.md +6 -48
- package/dist/cjs/index.cjs +1059 -238
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs-legacy/index.cjs +1058 -237
- package/dist/cjs-legacy/index.cjs.map +1 -1
- package/dist/esm/index.mjs +1059 -239
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm-legacy/index.mjs +1058 -238
- package/dist/esm-legacy/index.mjs.map +1 -1
- package/dist/types/common/error.d.ts +23 -0
- package/dist/types/common/index.d.ts +1 -0
- package/dist/types/data-structures/base/iterable-element-base.d.ts +1 -1
- package/dist/types/data-structures/binary-tree/avl-tree.d.ts +128 -51
- package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +210 -164
- package/dist/types/data-structures/binary-tree/binary-tree.d.ts +439 -78
- package/dist/types/data-structures/binary-tree/bst.d.ts +311 -28
- package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +217 -31
- package/dist/types/data-structures/binary-tree/segment-tree.d.ts +218 -152
- package/dist/types/data-structures/binary-tree/tree-map.d.ts +1281 -5
- package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +1087 -201
- package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +858 -65
- package/dist/types/data-structures/binary-tree/tree-set.d.ts +1133 -5
- package/dist/types/data-structures/graph/abstract-graph.d.ts +44 -0
- package/dist/types/data-structures/graph/directed-graph.d.ts +220 -47
- package/dist/types/data-structures/graph/map-graph.d.ts +59 -1
- package/dist/types/data-structures/graph/undirected-graph.d.ts +218 -59
- package/dist/types/data-structures/hash/hash-map.d.ts +230 -77
- package/dist/types/data-structures/heap/heap.d.ts +287 -99
- package/dist/types/data-structures/heap/max-heap.d.ts +46 -0
- package/dist/types/data-structures/heap/min-heap.d.ts +59 -0
- package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +286 -44
- package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +278 -65
- package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +415 -12
- package/dist/types/data-structures/matrix/matrix.d.ts +331 -0
- package/dist/types/data-structures/priority-queue/max-priority-queue.d.ts +57 -0
- package/dist/types/data-structures/priority-queue/min-priority-queue.d.ts +60 -0
- package/dist/types/data-structures/priority-queue/priority-queue.d.ts +60 -0
- package/dist/types/data-structures/queue/deque.d.ts +313 -66
- package/dist/types/data-structures/queue/queue.d.ts +211 -42
- package/dist/types/data-structures/stack/stack.d.ts +174 -32
- package/dist/types/data-structures/trie/trie.d.ts +213 -43
- package/dist/types/types/data-structures/binary-tree/segment-tree.d.ts +1 -1
- package/dist/types/types/data-structures/linked-list/skip-linked-list.d.ts +1 -4
- package/dist/types/types/data-structures/queue/deque.d.ts +6 -0
- package/dist/umd/queue-typed.js +1056 -235
- 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/common/error.ts +60 -0
- package/src/common/index.ts +2 -0
- package/src/data-structures/base/iterable-element-base.ts +2 -2
- package/src/data-structures/binary-tree/avl-tree.ts +134 -51
- package/src/data-structures/binary-tree/binary-indexed-tree.ts +303 -247
- package/src/data-structures/binary-tree/binary-tree.ts +542 -121
- package/src/data-structures/binary-tree/bst.ts +346 -37
- package/src/data-structures/binary-tree/red-black-tree.ts +309 -96
- package/src/data-structures/binary-tree/segment-tree.ts +372 -248
- package/src/data-structures/binary-tree/tree-map.ts +1292 -13
- package/src/data-structures/binary-tree/tree-multi-map.ts +1098 -215
- package/src/data-structures/binary-tree/tree-multi-set.ts +863 -69
- package/src/data-structures/binary-tree/tree-set.ts +1143 -15
- package/src/data-structures/graph/abstract-graph.ts +106 -1
- package/src/data-structures/graph/directed-graph.ts +223 -47
- package/src/data-structures/graph/map-graph.ts +59 -1
- package/src/data-structures/graph/undirected-graph.ts +299 -59
- package/src/data-structures/hash/hash-map.ts +243 -79
- package/src/data-structures/heap/heap.ts +291 -102
- package/src/data-structures/heap/max-heap.ts +48 -3
- package/src/data-structures/heap/min-heap.ts +59 -0
- package/src/data-structures/linked-list/doubly-linked-list.ts +286 -44
- package/src/data-structures/linked-list/singly-linked-list.ts +278 -65
- package/src/data-structures/linked-list/skip-linked-list.ts +689 -90
- package/src/data-structures/matrix/matrix.ts +425 -22
- package/src/data-structures/priority-queue/max-priority-queue.ts +59 -3
- package/src/data-structures/priority-queue/min-priority-queue.ts +60 -0
- package/src/data-structures/priority-queue/priority-queue.ts +60 -0
- package/src/data-structures/queue/deque.ts +343 -68
- package/src/data-structures/queue/queue.ts +211 -42
- package/src/data-structures/stack/stack.ts +174 -32
- package/src/data-structures/trie/trie.ts +215 -44
- package/src/types/data-structures/binary-tree/segment-tree.ts +1 -1
- package/src/types/data-structures/linked-list/skip-linked-list.ts +2 -1
- package/src/types/data-structures/queue/deque.ts +7 -0
- package/src/utils/utils.ts +4 -2
package/README.md
CHANGED
|
@@ -94,54 +94,6 @@ for (let i = 0; i < magnitude; i++) {
|
|
|
94
94
|
|
|
95
95
|
[//]: # (No deletion!!! Start of Example Replace Section)
|
|
96
96
|
|
|
97
|
-
### basic Queue creation and push operation
|
|
98
|
-
```typescript
|
|
99
|
-
// Create a simple Queue with initial values
|
|
100
|
-
const queue = new Queue([1, 2, 3, 4, 5]);
|
|
101
|
-
|
|
102
|
-
// Verify the queue maintains insertion order
|
|
103
|
-
console.log([...queue]); // [1, 2, 3, 4, 5];
|
|
104
|
-
|
|
105
|
-
// Check length
|
|
106
|
-
console.log(queue.length); // 5;
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### Queue shift and peek operations
|
|
110
|
-
```typescript
|
|
111
|
-
const queue = new Queue<number>([10, 20, 30, 40]);
|
|
112
|
-
|
|
113
|
-
// Peek at the front element without removing it
|
|
114
|
-
console.log(queue.first); // 10;
|
|
115
|
-
|
|
116
|
-
// Remove and get the first element (FIFO)
|
|
117
|
-
const first = queue.shift();
|
|
118
|
-
console.log(first); // 10;
|
|
119
|
-
|
|
120
|
-
// Verify remaining elements and length decreased
|
|
121
|
-
console.log([...queue]); // [20, 30, 40];
|
|
122
|
-
console.log(queue.length); // 3;
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
### Queue for...of iteration and isEmpty check
|
|
126
|
-
```typescript
|
|
127
|
-
const queue = new Queue<string>(['A', 'B', 'C', 'D']);
|
|
128
|
-
|
|
129
|
-
const elements: string[] = [];
|
|
130
|
-
for (const item of queue) {
|
|
131
|
-
elements.push(item);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// Verify all elements are iterated in order
|
|
135
|
-
console.log(elements); // ['A', 'B', 'C', 'D'];
|
|
136
|
-
|
|
137
|
-
// Process all elements
|
|
138
|
-
while (queue.length > 0) {
|
|
139
|
-
queue.shift();
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
console.log(queue.length); // 0;
|
|
143
|
-
```
|
|
144
|
-
|
|
145
97
|
### Queue as message broker for event processing
|
|
146
98
|
```typescript
|
|
147
99
|
interface Message {
|
|
@@ -205,6 +157,12 @@ for (let i = 0; i < magnitude; i++) {
|
|
|
205
157
|
console.log(messageQueue.length); // 0;
|
|
206
158
|
```
|
|
207
159
|
|
|
160
|
+
### Convert queue to array
|
|
161
|
+
```typescript
|
|
162
|
+
const q = new Queue<number>([10, 20, 30]);
|
|
163
|
+
console.log(q.toArray()); // [10, 20, 30];
|
|
164
|
+
```
|
|
165
|
+
|
|
208
166
|
[//]: # (No deletion!!! End of Example Replace Section)
|
|
209
167
|
|
|
210
168
|
|