赞
踩
标准库模型vector表示对象的集合,其中所有对象的类型都相同。集合中每个对象都有一个与之对应索引,索引用于访问对象。
注:vector是模板而非类型,由vector生成的类型必须包含vector中元素的类型,如vector< int>
本文就自己对vector< vector< int>>的个人理解进行分享,不当之处欢迎大家指正。
这里有两种方法对vector< vector< int>>进行赋值:
1、采用vector模板中的方法push_back()
#include<iostream>
#include<vector>
using namespace std;
int main()
{
//array用来保存一个3*3的二维数组,array的每个元素都是vector<int>类型
vector <vector<int> >array;
std::vector<int> v;
for (int i = 0; i <3; i++){
for (int j = 0; j <3; j++){
int value;
cin >> value;
v.push_back(value);
}
array.push_back(v); //保存array的每个元素
v.clear();
}
for (int i = 0; i <array.size(); i++)
{
for (int j = 0; j <3; j++)
cout <<array[i][j];
cout<<endl;
}
return 0;
}
2、用分配空间的resize()函数
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector <vector<int> >array(3);//首先给array开辟了三个空间
for (int i = 0; i <3; i++){
array[i].resize(3);//给array中每个元素开辟了三个空间
for (int j = 0; j <3; j++){
cin >> array[i][j];//直接对开辟的空间赋值即可
}
}
for (int i = 0; i <array.size(); i++)
{
for (int j = 0; j <3; j++)
cout <<array[i][j];
cout<<endl;
}
cout << array.size();
return 0;
}
方法1中是首先确定一个vector< int>类型对象,然后把它push_back()到array中去;方法2是用开辟空间的函数resize(),这样能直接当作数组进行赋值。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。