gpt4 book ai didi

c++ - 应使用哪种数据结构 multimap、boost::bimap、multiset 或任何其他数据结构

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:28:58 25 4
gpt4 key购买 nike

在我的程序中有一些用户和他们的客户。我有用户及其相关客户的列表。

例子

U1 -> c1, c2, c3, c5, c8, c10, c12
U2 -> c3, c5, c13, c8, c12, c14
U3 -> C2, C5, c8, c11, c12, c14
..
...
....
.....
and many more.

一些客户端在用户列表中很常见。

我想使客户与用户的层次结构相反。如果任何客户端有任何更新,那么它只会发送给与该客户端关联的那些用户。

请建议我应该使用哪种数据结构 map、multimap、boost::bimap、multiset

最佳答案

也许这是 Boost.Bimap 的一个用例,其中两个键都是多重集,并且 bimap 中的条目表示用户和客户端之间的单个连接。所以对于下面的设置

U1 -> C1 C2 C3
U2 -> C4 C1
U3 -> C5 C1

你会有条目 (U1, C1) , (U1, C2) , (U1, C3) , (U2, C4) , (U2, C1) , (U3, C5)(U3, C1) .

您可以按顺序遍历这两个键,即 U1, U1, U1, U2, U3在左边和C1, C1, C1, C2, C3, C4, C5在右侧。 (注意双方如何包含重复的条目!)

关于c++ - 应使用哪种数据结构 multimap、boost::bimap、multiset 或任何其他数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14920502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com