1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年3月11日

#6#批处理

MPL-2.0 许可证

105KB
546

sorting_networks

Build Status Downloads Version License

概要

Rust 中排序网络实现。

动机

在计算机科学中,比较网络是由固定数量的“线”组成的抽象设备,这些线携带值,并且由比较模块连接成对,如果这些值不在期望的顺序中,则交换线上的值。这些网络通常设计用于对固定数量的值进行排序,在这种情况下,它们被称为排序网络。(维基百科

sorting_network 提供了 Batcher 的奇偶归并排序 的实现,适用于长度为 248163264128256 的序列。

SortingNetwork16 的示例

preview

使用方法

let mut items = vec![7, 6, 5, 4, 3, 2, 1, 0];
let network = SortingNetwork16::new();
network.sort(&mut items[..]);
assert_eq!(items, vec![0, 1, 2, 3, 4, 5, 6, 7]);

贡献

请阅读 CONTRIBUTING.md 了解我们的 行为准则
以及向我们的提交拉取请求的过程。

许可证

本项目采用 MPL-2.0 许可证 – 请参阅 LICENSE.md 文件了解详细信息。

无运行时依赖