关于二维数组和vector<vector<>>的那些事
1.二维vector变二维数组
<pre name="code" class="cpp"><span style="font-size:18px;">vector<vector<double> > Num(m); for(int i=0;i <m;i++) Num[i].resize(n);</span>经过这样的变化,成为m*n矩阵,可以对其进行相关的数组操作;
2二维数组的转置问题
<span style="font-size:18px;"> for(int i=0;i <m;i++) for(int j=0;j <n;j++) Num[i][j]=SampleMatrix[j][i]; //转置</span>
3vector<vector<>>的初始化
<pre name="code" class="cpp"><span style="font-size:18px;">//用两个矩阵拼接对</span><span style="font-size:18px;">vector<vector<>>的初始化;</span>
for (int i=0;i<nItr;i++) { vector<double> objTemp = vParams[i]; for (int n=0;n<nvObjs;n++) { objTemp.push_back(vOutputs[i][n]); } SampleM.push_back(objTemp); }
//push_back的用法
<pre name="code" class="cpp"> for(int i=0;i<m;i++) { <pre name="code" class="cpp"><pre name="code" class="cpp"> float temp=0; for(int j=0;j<n;j++) {
temp+=Num[i][j]; SumX.push_back(temp);} }
}
总之不论二维数组还是vector<vector<>>的操作,核心思想就是"转化",高维向低维转化;另外注意学习push_back的用法
这次主因素分析代码的集成,由于对上述基本算法和源代码的数据结构的不清楚花费了很多时间,深深体悟基础不牢地动山摇,写于此以自勉!
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: c++的vector赋值方法汇总
- 下一篇: php 调用 python脚本的方法