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 47/week @ 2024-04-22 60/week @ 2024-04-29 60/week @ 2024-05-06 46/week @ 2024-05-13 59/week @ 2024-05-20 29/week @ 2024-05-27 32/week @ 2024-06-03 45/week @ 2024-06-10 62/week @ 2024-06-17 43/week @ 2024-06-24 63/week @ 2024-07-01 42/week @ 2024-07-08 85/week @ 2024-07-15 56/week @ 2024-07-22 34/week @ 2024-07-29 49/week @ 2024-08-05

每月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.

依赖关系