#优先队列 #集合 #算法 #结构 # #时间

collections-more

为 rust-lang 提供常用数据结构和算法,以完善已非常优秀的 std::collections

5 个版本

使用旧的 Rust 2015

0.1.4 2017 年 12 月 17 日
0.1.3 2017 年 12 月 7 日
0.1.2 2017 年 12 月 7 日
0.1.1 2017 年 12 月 6 日
0.1.0 2017 年 12 月 6 日

数据结构 中排名第 2234

每月下载 28
用于 vampire_api

自定义许可证

18KB
251

Rust 的集合和算法

Crates version Documentation Build Status Pipeline Status codecov standard-readme compliant

这个 crate 是 rust 集合 crate 的扩展。如果你习惯于 C++ 算法和各种 Java 集合,你将感到宾至如归。
如果你想轻松使用一些通用数据结构,你应该使用这个 crate。它们都经过测试,并发版本是线程安全的。因此,使用这个 crate 来扩展你的项目和使用闪电般快速的数据结构!

名人谈论这个项目

迄今为止最好的开源项目(林纳斯·托瓦兹)
我希望我能有这个想法为微软(比尔·盖茨)
Collections-more 是一场真正的革命(史蒂夫·乔布斯在 RustConf 2017 上)

目录

安装

将此行添加到你的 cargo.toml 中的 [dependencies] 部分

[dependencies]
# ...
collections_more = "X.X.X"

X.X.X 替换为上面徽章上的版本号,然后你应该就可以使用了!

用法

用法仍在决定中,目前标记为正在进行中。我们必须在做出承诺之前评估 Rust 的打包方式。
有关如何使用不同数据结构的示例,请参阅测试文件夹中的集成测试,它们展示了所有内容随时间如何保持一致。该 文档 应该非常有用,可指导你如何使用此项目的各种功能。
此库目前提供的完整详细信息可以在文档中找到,本文档仅是该项目的门面。尽管如此,给出一些示例以了解此库的目的仍然很重要,因此它们在这里

extern crate collections_more;

// snip

use collections_more::priority_queue::PriorityQueue;

fn main() {
	let pq = PriorityQueue::pqueue!(1, 5, 3); // Creates a priority_queue using the macro
	asserteq!(Some(5), pq.poll()); // Gets the biggest element of the queue O(1)
	asserteq!(2, pq.len()); // Size of the queue after removing biggest element
}

贡献

我们非常欢迎您的贡献。问题通常是良好的安全方式。对于更积极的参与,可以分叉项目并提交拉取请求也是可接受的。对于安全问题,建议发送更直接的电子邮件(电子邮件在 cargo.toml 文件中)。
您可以查看适用的行为准则,它类似于参与者之间的某种规章。如果您有任何要报告的内容,请通过 cargo.toml 文件中的地址发送电子邮件。

许可证

MIT © 2017 - mfournial Mayeul (Mike) Fournial

无运行时依赖项