3个版本
0.1.2 | 2022年8月26日 |
---|---|
0.1.1 | 2022年8月21日 |
0.1.0 | 2022年8月21日 |
#2428 在 数据结构
26KB
486 行
Rust 链表
这个crate旨在提供使用链表作为其底层数据结构的Rust中几种数据结构的实现
目前实现的数据结构包括
- 栈
- 函数式列表
- 队列
- 双向链表(待办事项)
为什么是链表?
我讨厌链表。非常讨厌。链表是可怕的数据结构。99%的时候你应该只用Vec(数组栈),而在剩下的1%的其他时间你应该使用VecDeque(数组双端队列)。这些数据结构在大多数工作负载中明显优于链表,因为它们更少地分配,内存开销更低,提供真正的随机访问和缓存局部性。
链表就像字典树一样,是一种很窄且模糊的数据结构。很少有人会反对我声称字典树是一个窄结构,普通程序员在整个职业生涯中可能永远不需要学习。然而,链表却有着一些奇怪的名声。我们教每一个本科生如何编写链表。这是C++中的列表!
作为社区,我们都应该拒绝将链表作为一个“标准”数据结构。它是一个很好的数据结构,有几种非常好的用例,但那些用例是例外,而不是常见。
待办事项链表
- 栈
- 函数式列表
- 队列
- 双向链表
- 测试
- 示例
- 文档
- 遵循 Rust Api 指南