我如何在C++中存储这个数据集(我使用哪些容器)
How do I store this data set in C++ (which containers do I use)?
我的数据表示如下。
A-> B,C,D,E,F
B-> C,(D,E),F
D-> (E,F)
E-> (F,G)
F-> (G)
G-> NULL
每个字母代表一个字符串。所有字母/字符串都按字母顺序排列。B->意味着B是它后面每个元素的成员。因此,对于这个例子,B行由集合(B,C)、(B,D,E)和(B,F)组成。每一行只能包含顺序高于行字符串的字符串。我必须这样安排数据。
我应该使用类似序列容器的向量还是类似关联容器的集合。
我正在构建小集群来构建大集群,所以我将从下到上迭代所有数据。
我猜是一套吗?
您似乎正在寻找一个图,但标准C++库(STL)没有这样的数据结构。下一个最佳选择是多映射:映射是1:1关联的数组,其中多映射是1:many关联的数组。
我想使用一个哈希表,其中每个字符串映射到一个向量,然后每个向量元素指向另一个向量。
这样的东西:
"b" -> {{"a", "b"},{"d"},{"e"}}
相关文章:
- 将字符串存储在c++中的稳定内存中
- std::原子加载和存储都需要吗
- C++:将控制台输出存储在宏中更好吗
- 使用QProcess执行命令,并将结果存储在QStringList中
- 访问存储在向量C++中的结构的多态成员
- 如何从存储在std::映射中的std::集中删除元素
- 存储模板类型以强制转换回派生<T>
- 类型总是使用其大小存储在内存中吗
- 当字符串存储在变量中时,如何将字符串转换为wchar_t
- 使用无符号字符数组有效存储内存
- 如何在cpp.中使用协议缓冲区存储大缓冲区/数组(char/int)
- 使用 pqxx 将 std::vector 存储在 postgresql 中,并从数据库中检索它
- 带结构的二维矢量:如何存储元素
- 添加存储在向量中的大整数的函数出现问题
- 从文件中读取多个字节,并将它们存储在C++中进行比较
- 在std::vector上存储带有模板的类实例
- 谷歌测试中的期望值存储在哪里
- 为什么C中的通用链表中存储的数据已损坏
- 在c++中获取两个大int,并将它们存储在数组中
- 在reactor中存储eventHandlers的最佳方式是什么