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维数组

 

原文链接: https://www.cnblogs.com/yuguangyuan/p/5834233.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    vector创建2维数组

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/398223

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月11日 上午9:57
下一篇 2023年4月11日 上午9:57

相关推荐