gpt4 book ai didi

c++ - 遍历多个集合的数据结构

转载 作者:太空宇宙 更新时间:2023-11-04 12:29:57 24 4
gpt4 key购买 nike

我有带有时间戳的对象,比方说:

class data_point
{
public:
data_point(time_t _ts, char _data):timestamp(_ts), data(_data) {}
time_t timestamp;
char data;
}

假设您有 N 个这些数据点的集合。对于每个系列,您知道它们是按时间顺序排列的。我想要做的是遍历这些集合,这样我将为每个 data_point 获得一次回调,但顺序正确。基本上我正在寻找一个可以用 N 集合初始化的数据结构,并返回一个迭代器,该迭代器将允许通过它们选择具有“最低”时间戳的下一个项目,优先考虑首先添加到集合中的集合。理想情况下,代码可能如下所示:

std::vector<data_point> a1 = { data_point(1, 'a'), data_point(6, 'b'), data_point(11, 'c') };
std::vector<data_point> a2 = { data_point(1, 'd'), data_point(8, 'e'), data_point(12, 'f') };
std::vector<data_point> a3 = { data_point(1, 'g'), data_point(9, 'h'), data_point(11, 'i') };

SomeCollection c = { a1, a2, a3 };
// or possibly if needed
// SomeCollection c; c.add(a1); c.add(a2); c.add(a3);
for(auto &d: c)
{
std::cout << d.data << std::endl;
}

哪个会输出:

a
d
g
b
e
h
c
i
f

我可以编写自己的类,但想知道是否已经存在类似的东西。

最佳答案

为什么不拥有一个集合的集合,即 std::vector<std::vector<data_point>> dataPointCollectors ;

向其中添加数据,然后迭代并打印内容

关于c++ - 遍历多个集合的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59062988/

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