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 });//插入

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Springboot集成kafka_Spring boot

    Springboot集成kafka_Spring bootspringboot集成TkMapper简化持久层法人代码熟悉,提高开发效率;先给大家截个图看一下效果这就是效果!!是不是感觉很爽。(TkMapper对单表的操作很方便的)下来我们进入正题,第一步:Pom文件中加载jar文件&lt;dependency&gt;&lt;groupId&gt;tk.mybatis&lt;/groupId&gt;&lt;ar…

  • VMware Ubuntu 详尽版安装教程[通俗易懂]

    /**写在前边,本文纯属复制粘贴*/转载地址:http://blog.csdn.net/u013142781/article/details/50529030不是每一个程序员都必须玩过linux,只是博主觉得现在的很多服务器都是linux系统的,而自己属于那种前端也搞,后台也搞,对框架搭建也感兴趣,但是很多生产上的框架和工具都是安装在服务器上的,而且有不少大公司都要求…

  • Matlab axis函数应用简介

    Matlab axis函数应用简介axis用于操作普通的坐标属性,(轴的缩放和外观)。axis([xminxmaxyminymax])设置当前坐标轴x轴和y轴的限制范围axis([xminxmaxyminymaxzminzmaxcmincmax])设置x,y,z轴的限制范围和色差范围。v=axis返回一个行向量,记录了坐标范围axisauto解除限…

  • nginx负载均衡原理简介_负载均衡算法有哪些

    nginx负载均衡原理简介_负载均衡算法有哪些前言今天这篇文章介绍了负载均衡的原理以及对应的四种负载均衡算法,当然还有对应的指令及实战,欢迎品尝。有不同意见的朋友可以评论区留言!负载均衡所谓负载均衡,就是Nginx把请求均匀的分摊给上游的应用服务器,这样即使某一个服务器宕机也不会影响请求的处理,或者当应用服务器扛不住了,可以随时进行扩容。Nginx在AKF可扩展立方体上的应用在x轴上,可以通过横向扩展应用服务器集群,Nginx基于Round-Robin或者Least-Connected算法..

  • 我的程序员之路

    我的程序员之路

  • 小米6解BL锁教程申请BootLoader解锁教程

    小米6解BL锁教程申请BootLoader解锁教程*小米6线刷兼救砖_解账户锁_纯净刷机包_教程*远程解锁一、准备工作1、注册小米账号:点击注册(已有小米账号请忽视)2、在手机中登陆【小米账号】3、下载并解压【小米解锁工具】或点击这里下载安装二、开始解锁1打开【小米解锁官网】:http://www.miui.com/unlock/,点击【立即解锁】,输入【小米账号】,点击【立即登录】,填写好上诉信息后,…

发表回复

您的电子邮箱地址不会被公开。

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