c++ - 最佳数据结构存储文本文件中的数字集

标签 c++ data-structures set

我有一项作业需要找到某些点的最小集覆盖。我希望能够将每一行数字存储在单独的集合中,但我不知道执行此操作的最佳数据结构或方法。我有行数。例如,.txt 文件将如下所示:

1 2 3 4 5 6

5 6 8 9

1 4 7 10

2 5 7 8 11

3 6 9 12

10 11

有没有办法动态创建多个数据结构来存储每一行​​数字?我在想如果它存在的话,它会像这样工作:

list<int> myList[6]; // create 6 lists
myList[0].insert(num); // insert numbers into this list
myList[1].insert(num); //insert numbers into the second list

我不想单独创建列表,因为在一个 .txt 文件中,最多可以有 300 组数字。

编辑:我的主要问题是弄清楚如何动态创建一些数据结构,最好是它与 std::set_union 一起使用,因为它看起来对我的作业很有用

最佳答案

如果你想以编程方式控制列表的数量,你可以使用 std::vector的数据集。所以在你的情况下声明将是

std::vector<std::list<int>> lists(6);

向列表集中添加新的空列表由

完成
lists.push_back({}).

关于c++ - 最佳数据结构存储文本文件中的数字集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47128834/

相关文章:

c++ - 带 double 的紧凑指针表示法

c# - 从 Windows 可执行文件中识别编译器版本

php - 如何编写一个简单的版本控制系统?

Python:将集合列表转换为集合

c++ - 网络:当接口(interface)打开/关闭时在所有接口(interface)上绑定(bind)一个套接字

c++ - 在 dllmain()/DLL_PROCESS_ATTACH 中允许实例化 com 对象?

testing - 测试clojure数据结构时无法解释结果

c++ - 没有内存重新分配的 std::set 的替代方案?

c++ - 添加到 C++ 中的集合

java - 需要 EnumSet/EnumMap 而非泛化 Set/Map