精华内容
下载资源
问答
  • 二维vector初始化

    2014-11-17 19:54:20
    定义二维vector vector > vec(m ,vector(n)); //m*n的二维vector 初始化二维vector vector > vec(m ,vector(n,0)); //m*n的二维vector,所有元素初始化为0

    vector<vector <int> > vec(m);    //m行的二维vector

    vector<vector <int> > vec(m ,vector<int>(n));    //m*n的二维vector

    vector<vector <int> > vec(m ,vector<int>(n,0));    //m*n的二维vector,所有元素初始化为0

    展开全文
  • 简单的二维vector初始化方法,在实际项目中难免会遇到
  • 二维vector初始化,赋值

    万次阅读 2019-01-27 19:50:50
    二维vector初始化 1. 采用构造函数 vector&lt;vector&lt;int&gt;&gt; vec(10, vector&lt;int&gt;(8)); //10行8列,全部初始化为零 2.添加元素(每次添加一行) int a[] = { 1, 2, 3, 4 }; ...

    一。二维vector初始化

    1. 采用构造函数 vector<vector<int>> vec(10, vector<int>(8)); //10行8列,全部初始化为零

    2.添加元素(每次添加一行)

    int a[] = { 1, 2, 3, 4 };

    vector<int> ivec(a, a + 4);//数组初始化vector,见最下面(也可以不用数组初始化,直接{}初始化vector)

    vector<vector<int> > m;

    m.push_back(ivec);

    ivec[0] = 5;

    ivec[1] = 6;

    ivec[2] = 7;

    ivec[3] = 8;

    m.push_back(ivec);

    ivec[0] = 9;

    ivec[1] = 10;

    ivec[2] = 11;

    ivec[3] = 12;

    m.push_back(ivec);

    ivec[0] = 13;

    ivec[1] = 14;

    ivec[2] = 15;

    ivec[3] = 16;

    m.push_back(ivec);

    3.直接初始化

    vector<vector<char>> board = {{'X','.','.','X'},{'.','.','.','X'},{'.','.','.','X'}};

     

    二。使用数组来初始化 vector 对象

    只需要 指明拷贝区域的首元素地址和尾后地址就可以了,下面通过两组程序及其运行结果来深入理解一下:

    程序一:

    1. #include <iostream>
    2. #include <vector>
    3. #include <iterator>
    4.  
    5. int main()
    6. {
    7. int arr[] = {11, 32, 41, 25, 67, 100, 88, 233}; // 列表初始化内置数组
    8. // 指出拷贝区域范围,使用数组初始化 vector 对象
    9. vector<int> iv(begin(arr), end(arr));
    10.  
    11. for (auto c : iv) // 输出 vector 对象的内容以验证结果
    12. cout << c << ' ';
    13. cout << endl;
    14.  
    15. return 0;
    16. }

     

    程序一的运行结果为:

    11 32 41 25 67 100 88 233,与期望中完全一致

    程序二:

     

    1. #include <iostream>
    2. #include <vector>
    3. using std::vector;
    4. using std::cout;
    5. using std::endl;
    6.  
    7. int main()
    8. {
    9. int arr[] = {11, 32, 41, 25, 67, 100, 88, 233}; // 列表初始化内置数组
    10. // 指出拷贝区域范围,使用数组初始化 vector 对象
    11. vector<int> iv(arr + 2, arr + 7);
    12.  
    13. for (auto c : iv) // 输出 vector 对象的内容以验证结果
    14. cout << c << ' ';
    15. cout << endl;
    16.  
    17. return 0;
    18. }

     

    程序二的运行结果为:

    41 25 67 100 88,与期望中完全一致

    需要特别注意的是, vector 对象不能用来初始化数组 ,这个过程是不可逆的。

     

    三。

    vec.size()是行数

    vec[0].size()是列数

    for (int i =0;i<vec.size();++i)

    {

    for (int n = 0; n<vec[0].size();++n)

    {

    cout << vec[i][n] << " ";

    }

    cout << endl;

    }

    展开全文
  • C++——二维vector初始化大小方法 本博客转载自:http://blog.csdn.net/sinat_36053757/article/details/71053706 1.直接用初始化方法(刚开始没想到) vector&lt;vector&lt;int&gt; &gt; ...

    C++——二维vector初始化大小方法

    本博客转载自:http://blog.csdn.net/sinat_36053757/article/details/71053706
    1.直接用初始化方法(刚开始没想到)

    vector<vector<int> > newOne(r, vector<int>(c, 0));

    2.用resize()来控制大小

    vector<vector<int> > res;
    res.resize(r);//r行
    for (int k = 0; k < r; ++k){
        res[k].resize(c);//每行为c列
    }
    展开全文
  • C++ 二维vector初始化、resize()

    千次阅读 2019-02-03 19:45:11
    二维vector初始化 1.定义时就设置大小、初值 vector&lt;vector&lt;int&gt; &gt; v(2, vector&lt;int&gt;(4,1));//2行*4列,初始化为1 2.先定义vector,再设置大小、赋值 vector&...

    二维vector初始化

    1.定义时就设置大小、初值

    vector<vector<int> > v(2, vector<int>(4,1));//2行*4列,初始化为1 

    2.先定义vector,再设置大小、赋值

    vector<vector<int> > v(2);   //2行
    // v.resize(2);
    for(int i=0;i<v.size();i++){
    	v[i].resize(4);          //4列
    	for(int j=0;j<v[i].size();j++){
    		v[i][j]=1;           //赋值
    	}
    } 

     

     resize()后,vector中的原有数据会继续保持,见下例

    #include <iostream>
    #include<vector>
    using namespace std;
    void print_vector(vector<vector<int> > v){ //逐行输出vector各元素
    	for(int i=0;i<v.size();i++){
    		for(int j=0;j<v[i].size();j++){
    			cout<<v[i][j]<<" ";
    		}
    		cout<<endl;
    	} 
    }
    int main(){
    	vector<vector<int> > v(2, vector<int> (4,1));//2*4,初始化为1 
    	
    	cout<<"v.size()="<<v.size()<<endl;
    	print_vector(v);
    	cout<<"---------------"<<endl;
    
    	v.resize(3);
    	print_vector(v);
    	cout<<"---------------"<<endl;
    	
    	for(int i = 0; i < v.size(); ++i) {
    		v[i].push_back(1);
    		v[i].push_back(2);
    		v[i].push_back(3);
    	}
    	print_vector(v);
    	cout<<"---------------"<<endl;
    	
    	v.resize(4); 
    	print_vector(v);
    	cout<<"---------------"<<endl;
    	
    	v.resize(2); 
    	print_vector(v);
    	cout<<"---------------"<<endl;
    } 

    展开全文
  • 来源:C++——二维vector初始化大小方法 1.直接用初始化方法 名字为vec,大小为n*m,初始值为0的二维vector。 vector<vector<int> > vec(n, vector<int>(m, 0)); 2.用resize()来控制...
  • 名字为vec,大小为n*m,初始值为0的二维vector。 vector<vector<int> > vec(n, vector<int>(m, 0)); 2.用resize()来控制大小 vector<vector<int> > vec; vec.resize(n);//n...
  • 二维vector初始化方法

    2020-09-16 17:29:32
    方法1: #include<iostream>... //初始化方法1 //std::vector<std::vector<int>> vec(a, std::vector<int> (b)); //2行4 vector<vector<int>> vec(a, vector<
  • 1.一维vector初始化 vector的构造函数通常来说有五种,如下: vector():创建一个空vector vector(int nSize):创建一个vector,元素个数为nSize vector(int nSize,const t& t):创建一个vector,元素个数为nSize...
  • C++二维vector初始化大小方法

    千次阅读 2020-07-09 14:20:28
    1.初始化二维vector,为r*c的vector,所有值为0. vector<vector<int> > newOne(r, vector<int>(c, 0)); 2.用resize()来控制大小 vector<vector<int> > res; res.resize(r);//r行 ...
  • 1、定义时初始化 vector&lt;vector&lt;int&gt; &gt; v(n, vector&lt;int&gt;(m, num)); //n行m列,初始化数值num vector&lt;vector&lt;int&gt; &gt; v(0, vector&lt...
  • c++ 二维vector初始化方法

    千次阅读 2019-03-19 15:05:32
    1、C++ 构建二维动态数组 int **p; p = new int*[10]; //注意,int*[10]表示一个有10个元素的指针数组 for (int i = 0; i < 10; ++i) { p[i] = new int[5]; } 2、利用vector实现 vector<vector<int> &...
  • 初始化二维vector大小 vector<vector<int>>v(5,vector<int>(5)); //这就是一个5*5的二维vector,默认值为0 为二维vector赋给定的值 vector<vector<int>>v(5,vector<int>(5,2))...
  • 记录二维vector初始化 如图:
  • 二维vector初始化方法

    千次阅读 2018-10-11 14:43:47
    直接贴代码: #include&amp;lt;iostream&amp;gt;... //初始化方法1 std::vector&amp;lt;std::vector&amp;lt;int&amp;gt;&amp;gt; vec(a, std::vector&amp;lt;int&am
  • 二维vector数组初始化方法

    千次阅读 2020-04-14 21:42:11
    在用devcpp编译程序时发现,二维vector数组如果只定义的话,不指定元素个数也不进行初始化的时候会导致编译出错。 通常情况下,可以只提供vector对象容纳的元素数量而略去初始值。此时库会创建一个值初始化的元素...
  • 怎样初始化二维vector

    2020-05-03 17:19:51
    二维vector初始化方法总结初始化一个 二维vector,行M,列N学会用大括号初始化二维数组初始化一个 二维vector,行M,列不固定初始化一个二维vector,行列都不固定leetcode相关例题 以定义一个二维整形数组并初始化为例...
  • C++中二维Vector初始化的一种方式

    千次阅读 2016-11-23 21:05:43
    C++中二维Vector初始化的一种方式
  • 【C++】 二维vector初始化问题

    万次阅读 2018-05-15 20:58:12
    今天在写一个程序时,需要使用到二维向量vector<vector<int> >,初始只能确定列数,但是无法确定行数 vector<vector<int> > result; 但是如果不初始化,直接使用 i=0; result[i].push_...
  • 为了避免每次写都要百度,这儿记录一下。 比如要创建m*n的vector,并置初始值false。代码如下: vector<vector<bool>> v(m, vector<bool>(n, false));
  • vector<vector<int>> generate(int numRows) { vector< vector<int> > result;/*定义一个名为result的数组,中间要有空格,否则可能报错*/ for (int i = 0; i < numRows; i++) {/*...
  • 【C++】 容器 vector初始化二维数组

    千次阅读 2018-07-06 09:53:44
    使用vector初始化二维数组,并且获得二维索引的方法:

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,923
精华内容 15,169
关键字:

二维vector初始化