C++二维vector初始化

C++二维vector初始化初始化一个二维vector,行M,列N(行列数确定且含有初始值)://初始化一个二维的matrix,行M,列N,且值为0vector<vector<int>>matrix(M,vector<int>(N));//等价于下面的vector<vector<int>>matrix(M);for(inti=0;i<M;i++){matrix[i].resize(N);}//等价于下面的vector&l

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

初始化一个 二维vector,行M,列N(行列数确定且含有初始值):

// 初始化一个 二维的matrix, 行M,列N,且值为0
vector<vector<int>> matrix(M,vector<int>(N));
//等价于下面的
vector<vector<int> > matrix(M); 
for(int i=0;i<M;i++) {
    matrix[i].resize(N);
}
//等价于下面的
vector< vector<int> > matrix;
matrix.resize(M);//M行
for(int i=0;i<matrix.size();i++){
    matrix[i].resize(N);//每一行都是N列
}
    
// 初始化一个 二维的matrix, 行M,列N,且值自定义为data;
vector<vector<int>> matrix(M,vector<int>(N,data));

初始化一个 二维vector,行M,列不固定:

vector<vector<int>>matrix(M);//M行,列数不固定

int col;
vector<int> temp;
for(int i=0;i<M;i++){
    cout<<”please input the col of ”<<i<<” row”<<endl;
    cin>>col;//确定第i行的列数
    cout<<i<<” row has ”<<col<<” col”<<” please input these”<<endl;
    for(int j=0;j<col;j++{
        int data;
        cin>>data;
        temp.push_back(data);
    }
    matrix[i]=temp;
    temp.clear();
}

初始化一个二维vector,行列都不固定:

#include <iostream>
#include<vector>
using namespace std;
int main()
{
    vector<vector<int>> matrix;//行,列数不固定
    cout << "please input rows of matrix: " << endl;
    int rows;
    cin >> rows;
    matrix.resize(rows);
    int col;
    vector<int> temp;
    for (int i = 0; i < rows; i++) {
        cout << "please input the cols of " << i << "th row" << endl;
        cin >> col;//确定第i行的列数
        cout << i << "th row has " << col << " cols," << "please input these" << endl;
        for (int j = 0; j < col; j++){
            int data;
            cin >> data;
            temp.push_back(data);
        }
        matrix[i] = temp;
        temp.clear();
    }

    cout << "output matrix:" << endl;
    for (int i = 0; i < matrix.size(); i++) {
        for (int j = 0; j < matrix[i].size(); j++) {
            cout << matrix[i][j] << " ";
        }
        cout << endl;
    }
    cout << endl;
    return 0;
}

用大括号初始化二维数组

//初始化空的二维vector
vector<vector<int>> matrix1{};
或者
vector<vector<int>> matrix1{
  
  {}};

//初始化列表
vector<vector<int>> matrix2{ {1},{1,1} };//学会用大括号初始化二维数组
matrix1.push_back({ 1,2,1 });//插入

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192342.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hive数据类型转换cast_sql数据类型转换convert

    hive数据类型转换cast_sql数据类型转换convert首先看一下类型转换表(来自https://www.iteblog.com/archives/892.html)我们可以用CAST来显式的将一个类型的数据转换成另一个数据类型。如何使用?CAST的语法为cast(valueASTYPE)。举个例子:假如我们一个员工表employees,其中有name、salary等字段;salary是字符串类型的。有如下的查询:SELECTname,sa…

    2022年9月21日
    3
  • pycharm import cv2找不到指定模块_pycharm显示主菜单

    pycharm import cv2找不到指定模块_pycharm显示主菜单首先,我们是要导入opencv(cv2)包,那么这个包是不是必须就在我们这个文件夹下面才行?我认为必须是这样。所以,我们在cmd用pipinstall命令安装,也必须在这个文件夹下执行,并且放到pip.exe一起,我们从opencv官网下好的whl文件也应该放在python/scripts这个里面。在cmd里这样执行,就可以,根据自己的文件夹来,命令仅提供参考:cdC:\Users\YZTang\PycharmProjects\rk-pro\venv\Scriptspipinsta.

    2022年8月27日
    4
  • git学习—git log 和git diff

    大概整理一下,供自查看 gitdiff和 git log 对比两个分支差异

    2022年2月25日
    52
  • 局域网文件传输方式分析

    局域网文件传输方式分析一、概述在C/S结构的软件开发过程中通常被限于局域网范围内, 常常会遇到需要传输数据文件、音视频文件、升级文件到服务器端或者客户端。每个工作站点都是通过交换机或者集线器、路由器等设备相互连接在一起。由于需要传输的站点数量、局域网环境、OS系统的不同,传输上的性能上也有很大的区别, 传输方式也是多种多样的,比如常见的局域网共享传输、基于FTP协议传输、点对点传输等方式。不同的网络操作系统(NOS

    2022年6月4日
    40
  • Java基础篇:数组

    Java基础篇:数组

    2021年10月4日
    53
  • 对比自监督学习综述 – A Survey of Contrastive Self-Supervised Learning

    对比自监督学习综述 – A Survey of Contrastive Self-Supervised Learning本文介绍了最近流行的对比自监督学习。

    2025年11月17日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号