【问题标题】:Use of multisets in C++ [duplicate]在 C++ 中使用多重集 [重复]
【发布时间】:2020-10-04 18:18:47
【问题描述】:

我了解 C++ 中集合的用法,但为什么存在多重集合? 多重集有用的实际应用有哪些?

这个论点也可以扩展到无序的多重集,那么与使用向量有什么区别以及它提供了哪些优点和缺点?

【问题讨论】:

标签: c++ multiset unordered-multiset


【解决方案1】:

因为您不必将单元素对象存储在多集合中。您正在考虑在多集中存储类似字符串的内容。但这不是它的目的。你可以有任何你想要的结构,并在结构中与单个元素进行比较。

例如:

struct PhoneBookEntry
{
    std::string name;
    std::string phoneNumber;
}

在这个幼稚的“电话簿”条目中,没有理由在电话簿中为每个姓名设置一个条目。可能有很多。因此,您将multiset 设为PhoneBookEntry,并将比较器设为name。这样,您就可以拥有多个同名的电话号码。

现在你可能会认为地图更适合这个,当然。但这只是一个例子。如果您的结构不需要键/值,但需要每个键具有多个元素的集合的搜索属性,则使用多重集。

【讨论】:

    猜你喜欢
    • 2021-08-29
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多