标签:
以前我要建立一个二维数组,总是使用
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; } }
标签:
原文地址:http://www.cnblogs.com/yuguangyuan/p/5834233.html