10个版本 (破坏性)

0.8.1 2024年4月8日
0.8.0 2024年2月9日
0.7.1 2024年1月15日
0.7.0 2023年12月30日
0.1.0 2021年9月11日

#838数据结构

Download history · Rust 包仓库 47/week @ 2024-04-22 · Rust 包仓库 60/week @ 2024-04-29 · Rust 包仓库 60/week @ 2024-05-06 · Rust 包仓库 46/week @ 2024-05-13 · Rust 包仓库 59/week @ 2024-05-20 · Rust 包仓库 29/week @ 2024-05-27 · Rust 包仓库 32/week @ 2024-06-03 · Rust 包仓库 45/week @ 2024-06-10 · Rust 包仓库 62/week @ 2024-06-17 · Rust 包仓库 43/week @ 2024-06-24 · Rust 包仓库 63/week @ 2024-07-01 · Rust 包仓库 42/week @ 2024-07-08 · Rust 包仓库 85/week @ 2024-07-15 · Rust 包仓库 56/week @ 2024-07-22 · Rust 包仓库 34/week @ 2024-07-29 · Rust 包仓库 49/week @ 2024-08-05 · Rust 包仓库

每月229次下载
8 个crate中使用 (直接使用2个)

MIT/Apache

120KB
3K SLoC

im-lists

Actions Status Coverage Status Crate Status Docs Status

持久化展开链表和vlist的实现。此链表使用ArcRc作为后端,适用于单线程或多线程环境。单线程列表可以找到List,线程安全的实现可以找到SharedList。它是泛型智能指针,所以如果您想使用自定义智能指针(例如Gc),则可以这样做。

展开链表是一种链表,其中每个节点包含一个元素向量。虽然算法复杂度与普通朴素链表相同,但将元素存储在向量中提高了缓存局部性,并且在常见操作上也提供了实际的速度提升。Vlist类似于展开链表,但是每个节点的向量容量呈指数增长。这也意味着需要遍历节点的操作将在O(log(n))时间内运行。

许可证

以下任一许可证下授权:

由您选择。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的您提交的任何贡献,都应双重许可如上所述,没有任何附加条款或条件。

CONTRIBUTING.md.

依赖关系