typescript-dsa-stl 1.2.2 → 1.2.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/README.md +42 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -89,6 +89,48 @@ clamp(42, 0, 10); // 10
|
|
|
89
89
|
range(0, 5); // [0, 1, 2, 3, 4]
|
|
90
90
|
```
|
|
91
91
|
|
|
92
|
+
### 2D and 3D vectors (like C++ `vector<vector<int>>`)
|
|
93
|
+
|
|
94
|
+
`Vector<T>` is generic, so you can nest it for 2D/3D grids:
|
|
95
|
+
|
|
96
|
+
| C++ | TypeScript |
|
|
97
|
+
|-----|------------|
|
|
98
|
+
| `vector<int>` | `Vector<number>` |
|
|
99
|
+
| `vector<vector<int>>` | `Vector<Vector<number>>` |
|
|
100
|
+
| `vector<vector<vector<int>>>` | `Vector<Vector<Vector<number>>>` |
|
|
101
|
+
|
|
102
|
+
**2D example:**
|
|
103
|
+
|
|
104
|
+
```ts
|
|
105
|
+
import { Vector } from 'typescript-dsa-stl';
|
|
106
|
+
|
|
107
|
+
const grid = new Vector<Vector<number>>();
|
|
108
|
+
|
|
109
|
+
const row0 = new Vector<number>([1, 2, 3]);
|
|
110
|
+
const row1 = new Vector<number>([4, 5, 6]);
|
|
111
|
+
grid.push(row0);
|
|
112
|
+
grid.push(row1);
|
|
113
|
+
|
|
114
|
+
grid.at(0).at(1); // 2 (first row, second column)
|
|
115
|
+
grid.at(1).at(0); // 4 (second row, first column)
|
|
116
|
+
|
|
117
|
+
grid.at(0).set(1, 99);
|
|
118
|
+
grid.at(0).push(10);
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**3D example:**
|
|
122
|
+
|
|
123
|
+
```ts
|
|
124
|
+
const cube = new Vector<Vector<Vector<number>>>();
|
|
125
|
+
|
|
126
|
+
const layer0 = new Vector<Vector<number>>();
|
|
127
|
+
layer0.push(new Vector<number>([1, 2]));
|
|
128
|
+
layer0.push(new Vector<number>([3, 4]));
|
|
129
|
+
cube.push(layer0);
|
|
130
|
+
|
|
131
|
+
cube.at(0).at(1).at(0); // 3 (layer 0, row 1, col 0)
|
|
132
|
+
```
|
|
133
|
+
|
|
92
134
|
---
|
|
93
135
|
|
|
94
136
|
## API overview
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typescript-dsa-stl",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
4
4
|
"description": "STL-style data structures and algorithms for TypeScript: Vector, Stack, Queue, List, PriorityQueue, Map, Set, sort, binarySearch. Use like C++ STL.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|