以前我要建立一個(gè)二維數(shù)組,總是使用 int N=5, M=6; vector<<vector<int> > Matrix(N); for(int i =0; i< Matrix.size(); i++){ Matrix.resize(M); } 上面多寫了三行,就是為了指定 Matrix 的烈數(shù)。 今天才發(fā)現(xiàn),可以用更簡單的方法完成上面的工作 下面的一行就可以代替上面的四行 vector<<vector<int> > Matrix(N, vector<int>(M)); /* * ===================================================================================== * * Filename: 2d.cpp * * Description: 如何建立二維數(shù)組 * * Version: 1.0 * Created: * Revision: none * Compiler: g++ -o 2d.exe 2d.cpp * * * ===================================================================================== */ #include <vector> #include <iostream> #include <iterator> using namespace std; int main(){ int N=2,M=3; vector<vector<int> > Matrix(N, vector<int>(M,-1)); ostream_iterator<int> os(cout, " "); Matrix[0][2]=4; //交換矩陣的兩行 Matrix[0].swap(Matrix[1]); //交換矩陣第二行的兩個(gè)元素 swap(Matrix[1][0],Matrix[1][2]); for(int i=0;i<Matrix.size();i++){ copy(Matrix.begin(),Matrix.end(),os); cout<<endl; } return EXIT_SUCCESS; } /**輸出結(jié)果 * tlu:stl$ g++ -o 2d.exe 2d.cpp tlu:stl$ ./2d.exe -1 -1 -1 -1 -1 4 */ |
|