二维vector的使用

您所在的位置:网站首页 vector怎么赋值 二维vector的使用

二维vector的使用

2023-09-28 15:47| 来源: 网络整理| 查看: 265

    和数组一样,数组有二维的数组,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