用STL 中的vector创建二维数组

2024-05-07 17:48
文章标签 stl vector 二维 数组 创建

本文主要是介绍用STL 中的vector创建二维数组,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用 STL 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)); 
/* 
* ===================================================================================== 

*       Filename: 2d.cpp 

*    Description: 如何建立二维数组 


* ===================================================================================== 
*/ 
#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[i].begin(),Matrix[i].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 
*/

这篇关于用STL 中的vector创建二维数组的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/967967

相关文章

git 创建新库(git init)-01

git init # 在当前目录新建一个git代码库,查看当前目录可以看到.git 文件夹git init [project_name] # 新建一个project_name目录,将其初始化为git 代码库git clone [url] # 下载一个项目和它的整个代码历史消息

使用ThreadPoolExecutor创建线程池有哪些关键参数

1、ThreadPoolExecutor类的全参数构造方法: /*** Creates a new {@code ThreadPoolExecutor} with the given initial* parameters.** @param corePoolSize the number of threads to keep in the pool, even* if they

关于Java的数组的使用

关于一维数组的使用 代码示例一如下: package com;public class test_array {public static void main(String[] args){//1.如何定义 一个 数组//1.1数组的声明String[] names;int[] scores;//1.2数组的初始化://1.2.1静态初始化:初始化数组与数组元素赋值同时进行nam

java多线程—java线程的创建和线程的生命周期

<span style="font-size:14px;">package com.dufy.thread;/***1 线程学习* @author aflyun * */public class TestCreateThread {public static void main(String[] args) {testThread tt = new testThread();testRunab

maven学习系列——(三)maven项目的创建

这一篇大概会整理和总结到有如下知识点: (1):maven的使用入门一些命令 (2):用命令创建项目 (3):使用IDE集成工具创建项目–Eclipse和idea 3:使用Maven命令和Eclipse的Maven插件,创建Maven项目 (1)maven命令生成项目 新建一个文件目录,dos进入该目录并执行下面命令: mvn archetype:create -DgroupId=c

2、swift学习-创建基本的控件

与OC想比较而已,其实用swift创建一些基本控件的方法都是一样的,一些基本的属性都是大同小异,只是语法稍稍不同而已,对于刚刚由OC开始学习swift的可能有点不太习惯,但是没关系,多写多练自然而然就会顺手的。 一、用swift创建一个UILabel func createLabel() {         let label = UILabel (frame: CGRect

Swift 常用控件的创建 2022年11月更新

Swift 常用控件的创建 一、基础控件 1.1 UILabel let label:UILabel = UILabel.init(frame: CGRect(x: 100, y: 100, width: 100, height: 20))label.text = "测试字符串"label.textColor = UIColor.redlabel.font = UIFont.syste

Swift 字典数组元组的使用 - 2022年11月更新

Swift 字典数组元组的使用 一、字典 Swift 字典用来存储无序的相同类型数据的集合,Swift 字典会强制检测元素的类型,如果类型不同则会报错。Swift 字典的key没有类型限制可以是整型或字符串,但必须是唯一的。let 修饰的字典为不可变字典,var 修饰的字典为可变字典。 1.1 字典的创建和取值 let dict = ["name":"张三","age":"20","add

iOS 数组排序

##1、字母排序 NSArray *arrData = @[@"i",@"b",@"a",@"d",@"e",@"f",@"g",@"h",@"c"];NSArray *sortArray = [arrData sortedArrayUsingSelector:@selector(compare:)];NSLog(@"%@",sortArray); 输出结果: ##2、数字排序

SpringBoot 学习一:创建第一个工程

1、pom.xml 添加依赖 <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.or