在数据库中插入和检索矩阵

时间:2018-10-01 18:50:16

标签: c++ database matrix vector blob

我的课堂上有一个std::vector<std::vector<float>>类型的对象和一个bool值。向量的向量的内容始终是这种结构(120行4值的行,然后是50行3值的行):

-78.45 5120 45.369 7.456
-0.140 1.012 1.161 7.456
-4.4287 8.963 1.121 7898
-8.753 8.159 3.852 2.415
0.000 2.456 4.655 6.041
0.000 3.132 8.275 1.788
7.489 8.056 7.288 5.698
4.050 7.456 7.340 2.025
0.090 9.478 9.395 6.416
1.132 6.866 8.450 2.126
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
9.121 2.256 5.641
8.896 1.488 2.858
7.489 8.056 7.288
4.050 7.456 7.340
0.090 9.478 9.395
7.489 8.056 7.288
4.050 7.456 7.340
0.090 9.478 9.395

从数据库加载矩阵时,如何存储矩阵以检索相同的vector<std::vector<float>>。我的问题是当我处于4个值或3个值的行时,我不知道该如何“知道”。我最初的想法是使用boost存储对象,但是我无法添加该库。我在C ++ 98中。由于无法使用boost,因此我认为应该将值存储在一行中。但是,重建带有4个值到120首行和3个值到数据库末尾的float向量的算法是什么?

我可以提供示例代码吗?

1 个答案:

答案 0 :(得分:3)

我的建议:

  1. 从文件中读取一行文本。如果没有更多的行,那么您就完成了。
  2. 从文本行构造maxRetransmitTime。继续从std::istringstream读取数字,直到没有更多的数字为止。
  3. std::istringstream中收集上述步骤中的所有数字。
  4. 将与一行对应的std::vector<float>添加到较高级别std::vector<float>

我很想发布代码,但我避免了。国际海事组织,这太麻烦了。