vector创建2维数组
Posted 于光远
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vector创建2维数组相关的知识,希望对你有一定的参考价值。
1 //二维vector初始化 2 vector< vector<int> > vt;//初始化一个 二维vector 3 vector<vector<int> > vect(vt);//使用另一个 二维 vector 初始化当前二维vector 4 vector< vector<int> > vec(row,vector<int>(column));//初始化一个 二维的vector 行row,列column,且值为0 5 vector<vector<int> > visited(row,vector<int>(column,6));//初始化一个 二维vector 行row,列column ,且 值为data=6 自定义data; 6 vector<vector<int> > vecto(row,vector<int>(vt[0].begin()+1,vt[0].begin()+3));////初始化一个 二维vector 行row,第二个参数为一维vector;
以前我要建立一个二维数组,总是使用
int N=5, M=6;
vector<vector<int> > Matrix(N);
for(int i =0; i< Matrix.size(); i++){
Matrix[i].resize(M);
}
上面多写了三行,就是为了指定 Matrix 的烈数。
今天才发现,可以用更简单的方法完成上面的工作
下面的一行就可以代替上面的四行
vector<vector<int> > Matrix(N, vector<int>(M));
#include <iostream> using namespace std; #include <vector> int main(void) { vector <vector <int>> array(3,vector<int>(3)); // vector<vector <int>>array(3); // for (int i = 0; i <3; i++) // array[i].resize(3);//设置数组的大小3X3 //现在你可以和使用数组一样使用这个vector for (int i = 0; i <3; i++) for (int j = 0; j <3; j++) array[i][j] = (i*j); //输出 for (int i = 0; i <3; i++) { for (int j = 0; j <3; j++) cout <<array[i][j] << " "; cout <<endl; } cout << "-------------" << endl; array[0].swap(array[1]); //数组交互 for (int i = 0; i <3; i++) { for (int j = 0; j <3; j++) cout << array[i][j] << " "; cout << endl; } }
以上是关于vector创建2维数组的主要内容,如果未能解决你的问题,请参考以下文章
java Vector 怎么用一个Vector来给一个以维数组赋值呢?