打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用 STL vector 来创建二维数组


以前我要建立一个二维数组,总是使用 

int N=5, M=6; 

vector<<vector<int> > Matrix(N); 

for(int i =0; i< Matrix.size(); i++){ 

   Matrix.resize(M); 



上面多写了三行,就是为了指定 Matrix 的烈数。 

今天才发现,可以用更简单的方法完成上面的工作 

下面的一行就可以代替上面的四行 

vector<<vector<int> > Matrix(N, vector<int>(M)); 

/* 

* ===================================================================================== 



*       Filename: 2d.cpp 



*    Description: 如何建立二维数组 



*        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]); 

    //交换矩阵第二行的两个元素 

    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; 



/**输出结果 



tlu:stl$ g++ -o 2d.exe 2d.cpp 

tlu:stl$ ./2d.exe 

-1 -1 -1 

-1 -1 4 

*/ 


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
2018.10.9模拟考试
74 [LeetCode] Search a 2D Matrix 搜索一个二维矩阵
基本算法-基数排序
STL模版与容器
二维数组排序
三十分钟掌握STL
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服