C++ vector(二维数组(初学者))(高悬赏)

各位前辈。程序我能独立的敲出来。但是我不太清楚这个数组里面的存储结构是什么样的。为什么我按照输出普通二维数组的输出方法输出的是一个旋转的矩阵?intmain(){vect... 各位前辈。程序我能独立的敲出来。但是我不太清楚这个数组里面的存储结构是什么样的。
为什么我按照输出普通二维数组的输出方法 输出的是一个旋转的矩阵?
int main()
{
vector < vector<int> > a;
vector <int> v1;
int i,j,m;
for(i=0;i<=3;i++)
{
a.push_back(v1);
}
for(j=0;j<=3;j++)
{
for(i=0;i<=3;i++)
{
cin>>m;
a[i].push_back(m);
}
}
cout<<"Size:"<<a.size()<<endl;
for(i=0;i<=3;i++)
{
for(j=0;j<=3;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
/*麻烦前辈 帮忙解释一下这个二维数组的实现和普通的二维数组有什么区别,谢谢!*/
/*回答好的 有200财富送上*/
展开
 我来答
darkelemental
推荐于2017-09-08 · TA获得超过242个赞
知道小有建树答主
回答量:202
采纳率:0%
帮助的人:100万
展开全部
int main()
{
 vector < vector<int> > a; // a是向量类型的向量
    vector <int> v1; // v1是int类型的向量
    int i,j,m;
    for(i=0;i<=3;i++) // a有4个元素
    {
        a.push_back(v1);// 每个元素是v1
    }
    for(j=0;j<=3;j++)
    {
        for(i=0;i<=3;i++)
        {
            cin>>m;
            a[i].push_back(m); // a的第i个元素插入一个量 
                               // 就是每个v1插入一个量 
                               // a[0]插入,a[1]插入,a[2]插入,a[3]插入
                               // 如此循环四次,相当于按列的顺序插入 
 
        }
    }
    cout<<"Size:"<<a.size()<<endl;
    for(i=0;i<=3;i++)
    {
        for(j=0;j<=3;j++)
        {
            cout<<a[i][j]<<" "; // 输出a[0][0],a[0][1]a[0][2],a[0][3]
                                // 输出a[1][0],a[1][1]a[1][2],a[1][3]
                                // 如此第一个索引值循环4次,相当于按行的顺序输出 
        }
        cout<<endl; // 输出一行就换行
    }
    return 0;
}
cxwtc123
2015-04-15 · TA获得超过160个赞
知道小有建树答主
回答量:152
采纳率:0%
帮助的人:175万
展开全部
  1. 实现的区别就是普通数组 和 vector 的区别,vector内部也是有个普通数组存储数据,但多了些其他信息比如 capacity、size ;

  2. 但是从下标使用来说的话,没什么差别;

  3. 旋转输出的原因是  cout<<a[i][j]<<" "; 应为   cout<<a[j][i]<<" "。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式