二维vector的使用 |
您所在的位置:网站首页 › vector怎么赋值 › 二维vector的使用 |
和数组一样,数组有二维的数组,vector也有二维的vector。下面就介绍一下二维vector的使用方法。 一般声明初始化二维vector有三种方法 (1) vector< vector > v(n,vector(m)); //在声明的时候就一次性指定vector内外层的大小;特别注意 > >之间是有空格的 上面语句构造了一个二维向量,它有n个元素,每个元素都是含有m个int型元素的一维向量;并且二维向量中每行的长度都是相等的(每行元素个数相同) (2) 上面介绍的方法是一次性指定了二维vector的内外层大小的方法,并且每行大小都相同,那如果要求每行的长度不同怎么办呢? 可以用如下方法: vector< vector > v; //先声明一个二维向量 v.resize(n); //先根据需要指定外层大小 for(int i=0,len;i>len; v[i].resize(len); } (3) 还可以用push_back()来添加每行,例如 vector< vector > v; //先声明一个二维向量 for(int i=0,m;i>m; push_back(vector(m)); //往v里添加行,行的大小为m;vector(m)也可以改成vector(m,1),即用1来初始化每行 } 另外说一下,vector(m,0);这个括号里面可以没参数,但是括号却不能省略 此时 v.pop_back() 是用来删除最后一行的,v.size()返回的是v的行数。 总的来说,二维向量的属性和一维向量是相同的,它们的用法也都一样,下面用代码展示了一下上面三种方法的具体用法: 1 #include 2 #include 3 using namespace std; 4 int main() 5 { 6 int n=0,m=0; 7 vector v1(2,vector(3)); 8 vector v2,v3; 9 v2.resize(3); //指定v2有3行 10 coutm; 14 v2[i].resize(m); //指定v2每行的大小 15 } 16 coutm; 20 v3.push_back(vector(m)); //往v3里添加行,行的大小为m 21 } 22 coutm; 14 v2[i].resize(m); //指定v2每行的大小 15 } 16 coutm; 20 v3.push_back(vector(m)); //往v3里添加行,行的大小为m 21 } 22 cout |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |