19次发布

0.2.2 2024年7月28日
0.2.1 2024年1月3日
0.2.0 2023年12月25日
0.1.12 2023年9月19日
0.1.8 2022年10月30日

#216 in 数据结构

Download history 2036/week @ 2024-04-28 2461/week @ 2024-05-05 3122/week @ 2024-05-12 3093/week @ 2024-05-19 2889/week @ 2024-05-26 3179/week @ 2024-06-02 2607/week @ 2024-06-09 1906/week @ 2024-06-16 2458/week @ 2024-06-23 1696/week @ 2024-06-30 2492/week @ 2024-07-07 2950/week @ 2024-07-14 3041/week @ 2024-07-21 3948/week @ 2024-07-28 2158/week @ 2024-08-04 2689/week @ 2024-08-11

11,967 每月下载量
用于 46 个crate(直接使用4个)

MIT/Apache

140KB
2K SLoC

vecmap-rs

Build Status crates.io docs.rs License: Apache 2.0 License: MIT

一个基于向量的有序映射和集合实现,无依赖,支持#![no_std]

映射键不需要是可哈希的,也不需要形成全序。因此,可以使用 neither implement Hash nor Ord 的键类型。

由于vecmap-rs底层是一个 Vec<(K, V)>,最坏情况下的查找和插入性能为 O(n),并随着映射条目数增加而扩展。因此,其主要用途是小集合,且键不可哈希。

对于实现 HashOrd 的键类型,建议使用性能更好的映射或集合实现,例如标准库中的 HashMap/HashSetBTreeMap/BTreeSet,或者流行的替代方案如 IndexMap/IndexSet

Cargo功能

以下功能可用

  • serde:为VecMapVecSet提供SerializeDeserialize实现。该功能默认禁用。启用它将引入serde作为依赖项。

许可证

vecmap-rs的源代码根据您的选择受Apache License, Version 2.0MIT许可证的许可。

依赖项

~175KB