#dynamic #array #n-dimensional #index #access #data

dyn_array

一个简单、易于使用的N维动态数组

8 个版本

0.1.7 2022年12月4日
0.1.6 2022年10月26日
0.1.2 2022年9月30日

2136算法

Download history 9/week @ 2024-07-01 96/week @ 2024-07-22

每月下载量 105

MIT 许可证

10KB
252

dyn_array - 一个简单、易于使用的N维动态数组

DynArray 可以通过两种方式构建

  1. DynArray::new - 指定维度和默认值
  2. DynArray::new_from_data - 指定维度和包含预初始化数据的向量

所有索引都是通过使用 std::ops::Index 并传递一个数组来指定所需的元素来完成的。例如

let elem = arr[[10, 10, 10]];;

DynArray 还可以通过几种方式迭代。首先,datadata_mut 提供了一个连续的元素切片,而不考虑 DynArray 的维度。然后可以迭代提供的切片。还有 DynArray 的 Iterator 实现,它提供对每个元素的不可变访问,同时也提供了关联的索引。

例如

// 20x20 整数数组 let mut arr = DynArray::new([20, 20], 3);

for i in arr.data_mut() { //对元素的 mutable 访问,但没有当前索引的指示}

for (index, elem) in &arr { //对元素的 immutable 访问和当前索引 let [x, y] = index; }

无运行时依赖