11个版本 (7个重大更新)

使用旧的Rust 2015

0.8.0 2024年7月16日
0.6.0 2024年6月29日
0.5.3 2022年7月23日
0.5.2 2020年5月6日
0.2.0 2015年6月4日

#46数据结构 中排名

Download history 746596/week @ 2024-05-04 792384/week @ 2024-05-11 873582/week @ 2024-05-18 775126/week @ 2024-05-25 716323/week @ 2024-06-01 929170/week @ 2024-06-08 790503/week @ 2024-06-15 785452/week @ 2024-06-22 602573/week @ 2024-06-29 793380/week @ 2024-07-06 768138/week @ 2024-07-13 813543/week @ 2024-07-20 824219/week @ 2024-07-27 961857/week @ 2024-08-03 1129545/week @ 2024-08-10 899588/week @ 2024-08-17

每月3,952,724次下载
用于 5,163 个crate (98 直接使用)

Apache-2.0 OR MIT

53KB
937

bit-set

紧凑的位集合。

crates.io Documentation Rust CI rustc 1.0+

Dependency Status Download Status

使用方法

将以下内容添加到您的Cargo.toml中

[dependencies]
bit-set = "0.8"

从Rust 2018开始,extern crate不再是强制性的。如果您的版本较旧(Rust 2015),请将其添加到crate根目录

extern crate bit_set;

如果您想使用serde,请使用serde功能启用它

[dependencies]
bit-set = { version = "0.8", features = ["serde"] }

如果您想在#![no_std]的程序中使用bit-set,只需删除默认功能

[dependencies]
bit-set = { version = "0.8", default-features = false }

描述

使用位向量作为底层表示来存储无符号数值元素的集合实现。

还应注意的是,存储对象集合所需的空间与对象的最大值成正比,当对象被视为usize时。

示例

use bit_set::BitSet;

// It's a regular set
let mut s = BitSet::new();
s.insert(0);
s.insert(3);
s.insert(7);

s.remove(7);

if !s.contains(7) {
    println!("There is no 7");
}

// Can initialize from a `BitVec`
let other = BitSet::from_bytes(&[0b11010000]);

s.union_with(&other);

// Print 0, 1, 3 in some order
for x in s.iter() {
    println!("{}", x);
}

// Can convert back to a `BitVec`
let bv = s.into_bit_vec();
assert!(bv[3]);

许可证

双许可,以兼容Rust项目。

Apache License Version 2.0许可: http://apache.ac.cn/licenses/LICENSE-2.0,或MIT许可证: http://opensource.org/licenses/MIT,任选其一。

依赖关系

~105–270KB