【发布时间】:2015-04-22 16:05:12
【问题描述】:
假设我有一个包含多行 3 列的文件:
3 1 3
1 2 3
4 5 6
. . .
目标是求每列的总和。解决方案很简单:为总和创建 3 个变量,然后再创建 3 个临时变量。
但是,此解决方案不能很好地扩展。如果有 6 列呢?然后我必须制作总共 12 个变量。还有其他方法,例如只制作一个计数变量和一个临时变量,并通过使用计数的模数将临时变量添加到正确的总和中。但这似乎是一个 hack。
有没有更好的方法或为此目的的 C++ 标准库?
【问题讨论】:
-
使用
vector。 -
如果您使用队列,则每行都从头部开始,然后步进到
\n字符,然后将指针移回头部。然后,当您完成所有操作后,只需排队一次即可获得输出。比向量 imo 的开销更少。 -
@CoryNelson 你能解释一下使用向量吗?
-
@joshualan 对
pairs或structs求和,其中包含您读入的每一列的总和和临时变量。或两个单独的vectors,一个用于总和和一个用于临时变量。
标签: c++ scalability