我有一项作业需要找到某些点的最小集覆盖。我希望能够将每一行数字存储在单独的集合中,但我不知道执行此操作的最佳数据结构或方法。我有行数。例如,.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/