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

2024-11-17 12:43:26
推荐回答(2个)
回答1:

    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::iterator p=v1.begin( ); p初始值指向v1的第一个元素。*p取所指向元素的值。
11.   p=v1.end( ); p指向v1的最后一个元素的下一位置。
12.v.clear()      删除容器中的所有元素。12.v.clear()      删除容器中的所有元素。

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

vector > arr;

回答2:

vector >
这样扩展行吧?没试过,不知道行不行
#include
#include
using namespace std;
int main()
{ vectorvec;
vector >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< return 0;
}
貌似可以,但是我不知道怎么访问。