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

    万次阅读 2019-01-27 19:50:50
    二维vector初始化 1. 采用构造函数 vector<vector<int>> vec(10, vector<int>(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;

    }

    展开全文
  • 一、直接初始化赋值代码 #include "pch.h" #include <iostream> #include <vector> //容器头文件 using namespace std; int main() { vector<double>x_i(10); 为长度10的一数组 vector<...

    一、直接初始化赋值代码

    #include "pch.h"
    #include <iostream>
    #include <vector>  //容器头文件
    using namespace std;
    int main()
    {
    	vector<double>x_i(10); 为长度10的一维数组 
    	vector<vector<double>>w(5,vector<double>(10,0)); 为大小5*10的二维数组 
    }

    二、利用resize函数也可以初始化赋值

    #include "pch.h"
    #include <iostream>
    #include <vector>  //容器头文件
    using namespace std;
    class neure
    {
    public:
    	vector<double>x_i;  //输入信号
    	vector<vector<double>>w;  //神经元与神经元之间的权重
    	vector<double>b_i;  //表示第j神经个神经元的阀值
    };
    int main()
    {
    	neure BP;//定义类变量
    	BP.x_i.resize(10);
    	BP.w.resize(5,vector<double>(10));	
    }
    

     

    展开全文
  • 二维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

    展开全文
  • 给定一个 n × n 的矩阵,求它顺时针旋转 90 度的结果,且必须在原矩阵上修改(in-place)。...vector> using namespace std; class Matrix { public:Matrix(); ~Matrix(); void rotate(vector<vecto

    记录直接声明并定义二维数组vector:

     vector<vector<string>> tickets = { {"MUC""LHR"}, { "JFK" "MUC" }, { "SFO" "SJC" }, { "LHR" "SFO" } };
    

    给定一个 n × n 的矩阵,求它顺时针旋转 90 度的结果,且必须在原矩阵上修改(in-place)。
    怎样能够尽量不创建额外储存空间呢?

    #pragma once
    #ifndef MATRIX_H_INCLUDE
    #define MATRIX_H_INCLUDE
    #include <vector>
    using namespace std;
    
    class Matrix
    {
    public:Matrix();
    	  ~Matrix();
    	  void rotate(vector<vector<int> >& vec);
    private:
    	
    };
    
    #endif // !MAXT
    

    注释掉的初始化和利用迭代器输出vector二维数组都是可运行的

    void main()
    {
    	int n = 3;
    	int temp;
    	vector<vector<int> > vec(n);
    	Matrix matrix;
    
    	//初始化vector
    	//for (int i = 0; i < n; i++)
    	//{
    	//	vec[i].resize(n);
    	//}
    	
    	//输入
    	printf("INPUT:[\n");
    	for (int i = 0; i < n; i++)
    	{
    		printf("[");
    		for (int j = 0; j < n; j++)
    		{
    			cin >> temp;
    			vec[i].push_back(temp);
    				
    		}
    		printf("] ");
    	}
    	printf("]");
    	cout << endl;
    	//cout << vec[2].back();
    	//矩阵旋转90
    	matrix.rotate(vec);
    	
    	//使用迭代器
    	/*vector<int>::iterator it;	//it 是一个地址 
    	vector<vector<int>>::iterator iter;
    	vector<int> vec_tmp;
    
    	cout << "OUTPUT : " << endl;
    	for (iter = vec.begin(); iter != vec.end(); iter++)
    	{
    		vec_tmp = *iter;
    		for (it = vec_tmp.begin(); it != vec_tmp.end(); it++)
    			cout << *it << " ";
    		cout << endl;
    	}*/
    	
    	//输出
    	printf("OUTPUT:[\n");
    	for (int i = 0; i < n; i++)
    	{
    		printf("[");
    		for (int j = 0; j < n; j++)
    		{
    			cout<< vec[i][j]<<" ";
    
    		}
    		printf("],\n");
    	}
    	printf("]");
    }
    
    展开全文
  • 二维 Vector 初始化

    2021-01-23 23:56:22
    记录一些,刷题的时候忘记怎么初始化了 #include <iostream> #include <algorithm> #include <vector> using namespace std; vector<vector<int> > res; int main(){ int n, m; cin...
  • 二维vector初始化问题

    2020-04-08 11:04:44
    vector<vector<int>> dp(n); vector<int> v(n); for(int i=0;i<n;i++) dp[i]=v; 这样就完成了二维数组的初始化,可以像数组一样直接赋值
  • 其实那个dp二维数组,没有必要 class Solution { public: int maxProduct(vector<int>& nums) { int n=nums.size(); int m=nums[0]; int big=m; int small=m; for(int i=1;i;i++) { int tmpbig=big; ...
  • 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&...
  • 1.一维vector初始化 vector的构造函数通常来说有五种,如下: vector():创建一个空vector vector(int nSize):创建一个vector,元素个数为nSize vector(int nSize,const t& t):创建一个vector,元素个数为nSize...
  • 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))...
  • C++中二维Vector初始化的一种方式

    千次阅读 2016-11-23 21:05:43
    C++中二维Vector初始化的一种方式
  • 1、 #include #include #include using namespace std; #define M 4 #define N 4 ...vector c(vector > mat, int n, int m) { // write code here vectorres; int t = min(m, n); int i, j; for (i
  • 【C++】 二维vector初始化问题

    万次阅读 2018-05-15 20:58:12
    今天在写一个程序时,需要使用到二维向量vector<vector<int> >,初始只能确定列数,但是无法确定行数 vector<vector<int> > result; 但是如果不初始化,直接使用 i=0; result[i].push_...
  • 【C++】 容器 vector初始化二维数组

    千次阅读 2018-07-06 09:53:44
    使用vector初始化二维数组,并且获得二维索引的方法:
  • vector<vector<int>> generate(int numRows) { vector< vector<int> > result;/*定义一个名为result的数组,中间要有空格,否则可能报错*/ for (int i = 0; i < numRows; i++) {/*...
  • 建了一个二维数组(19*19): ![图片说明](https://img-ask.csdn.net/upload/201806/06/1528254415_305614.png) 初始化: ![图片说明](https://img-ask.csdn.net/upload/201806/06/1528254479_16033.png) ...
  • 二维数组动态分配存储空间 设二维数组为ans[numRows][numRows] ans = (int **)malloc( numRows*sizeof(int *) ); for ( i = 0; i < numRows; i++ ) ans[i] = (int *)malloc( numRows*sizeof(int) ); ...
  • C++ vector 二维数组初始化方式

    万次阅读 2019-06-30 15:00:54
    原文:... 在LeetCode刷算法的时候发现,使用vector<vector<int>> 时如果声明时不初始化,会报空指针引用错误:reference binding to null pointer of type 'value_type'。 根据《...
  • vector二维数组初始化

    千次阅读 2018-12-05 18:28:37
    int main() { vector<vector<int> >num = { {1,1,1,0,1,1},{1,0,1,1,1,1},{1,1,1,0,0,1},{1,0,1,0,0,1},{1,1,1,1,1,1} }; ...
  • 1. 用memset初始化数组: 1)按照字节赋值 2)头文件在<cstring>中 注:由于memset函数是按照字节赋值的,所以对int型数组用该函数时,只能是0或-1,否则会出错,这里,不管数组是多少的,语法均为: ...
  • //初始化一个size为0的vector vector<int> a; (2)带参数的构造函数初始化 //初始化size,但每个元素值为默认值 vector<int> a(10); //初始化了10个默认值为0的元素 //初始化size,并且设置初始值 ...
  • 类结构中容器一维二维数组初始赋值初始长度设置的一种方法 class sample //定义sample类 { public: vector<double> a; //一维容器 vector<vector<double>>...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,875
精华内容 5,150
关键字:

二维vector初始化赋值