利用c++中的vector创建动态二维数组

我的要求是在循环中可以改变数组的大小,比如一维时:vector<int>myVector;for(vector<int>::size_typei=0;i<6;i++){m... 我的要求是在循环中可以改变数组的大小,比如一维时:
vector<int> myVector;
for(vector<int>::size_type i = 0; i < 6 ;i++)
{
myVector.push_back(i);
if(i == 5)
{
i = i+1;
myVector.push_back(i);
}
}
如何把这个程序扩展到2维?
展开
 我来答
百度网友6fa3859
2016-01-04 · TA获得超过3349个赞
知道小有建树答主
回答量:1148
采纳率:85%
帮助的人:413万
展开全部

    vector为C++中的一个容器类,其功能相当于动态数组。使用vector需要包含头文件vector。

    vector的常用操作:

1. v.push_back(t)    在容器的最后添加一个值为t的数据,容器的size变大。
    另外list有push_front()函数,在前端插入,后面的元素下标依次增大。
2. v.size()        返回容器中数据的个数,size返回相应vector类定义的size_type的值。

3. v.empty()     判断vector是否为空
4. v[n]           返回v中位置为n的元素
5. v.insert(pointer,number, content)    向v中pointer指向的位置插入number个content的内容。
6. v.pop_back()    删除容器的末元素,并不返回该元素。
7.v.erase(pointer1,pointer2) 删除pointer1到pointer2中间(包括pointer1所指)的元素。
8. v1==v2          判断v1与v2是否相等。
9. !=、<、<=、>、>=      保持这些操作符惯有含义。
10. vector<typeName>::iterator p=v1.begin( ); p初始值指向v1的第一个元素。*p取所指向元素的值。
11.   p=v1.end( ); p指向v1的最后一个元素的下一位置。
12.v.clear()      删除容器中的所有元素。12.v.clear()      删除容器中的所有元素。

    若要用vector实现二维动态数组,可用vector作模板类型参数:

vector<vector<int> > arr;
C加语言初学者
推荐于2018-03-07 · TA获得超过278个赞
知道答主
回答量:219
采纳率:0%
帮助的人:201万
展开全部
vector<vector<int> >
这样扩展行吧?没试过,不知道行不行
#include<iostream>
#include<vector>
using namespace std;
int main()
{ vector<int>vec;
vector<vector<int> >v_vec;
int x;
for(int j=0;j<3;j++)
{
for(int i=0;i<4;i++)
{
cin>>x;vec.push_back (x);
}
v_vec.push_back (vec);
vec.clear ();
}
cout<<v_vec.size ()<<endl;
return 0;
}
貌似可以,但是我不知道怎么访问。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式