您的位置:首页 > 其它

关于二维数组和vector<vector<>>的那些事

2014-07-03 09:07 330 查看
1.二维vector变二维数组

<prename="code"class="cpp"><spanstyle="font-size:18px;">vector<vector<double>>Num(m);
for(inti=0;i<m;i++)
Num[i].resize(n);</span>



经过这样的变化,成为m*n矩阵,可以对其进行相关的数组操作;

2二维数组的转置问题

<spanstyle="font-size:18px;">	for(inti=0;i<m;i++)
for(intj=0;j<n;j++)
Num[i][j]=SampleMatrix[j][i];//转置</span>


3vector<vector<>>的初始化

<prename="code"class="cpp"><spanstyle="font-size:18px;">//用两个矩阵拼接对</span><spanstyle="font-size:18px;">vector<vector<>>的初始化;</span>



for(inti=0;i<nItr;i++)
{
vector<double>objTemp=vParams[i];
for(intn=0;n<nvObjs;n++)
{
objTemp.push_back(vOutputs[i]
);
}

SampleM.push_back(objTemp);
}
//push_back的用法
<prename="code"class="cpp">	for(inti=0;i<m;i++)
{
<prename="code"class="cpp"><prename="code"class="cpp">floattemp=0;
for(intj=0;j<n;j++)
{
temp+=Num[i][j];
SumX.push_back(temp);}
}
}







总之不论二维数组还是vector<vector<>>的操作,核心思想就是"转化",高维向低维转化;另外注意学习push_back的用法

这次主因素分析代码的集成,由于对上述基本算法和源代码的数据结构的不清楚花费了很多时间,深深体悟基础不牢地动山摇,写于此以自勉!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: