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)
上一篇 2026年1月14日 下午3:15
下一篇 2026年1月14日 下午3:43


相关推荐

  • 一些sql二

    1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)法一:select * into b from a&#

    2021年12月25日
    39
  • 操作系统和网络基础知识整理「建议收藏」

    一为什么要有操作系统现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输入输出设备组成。一般而言,现代计算机系统是一个复杂的系统。其一:如果每位

    2022年3月29日
    39
  • java框架中的controller层、dao层、domain层、service层、view层[通俗易懂]

    1.Controller层:接口层,用户访问请求时对接。Controller层负责具体的业务模块流程的控制,在此层里面要调用Serice层的接口来控制业务流程,控制的配置也同样是在Spring的配置文件里面进行,针对具体的业务流程,会有不同的控制器,我们具体的设计过程中可以将流程进行抽象归纳,设计出可以…

    2022年4月15日
    284
  • php反射型xss,反射型XSS测试及修复

    php反射型xss,反射型XSS测试及修复反射型XSS一般出现的位置,如GET参数中测试搜索功能F12查看源码,查找出现1111的位置第一个位置在title处尝试闭合掉title标签,然后测试JS代码,成功弹窗查看源码,XSS执行第二处位置在搜索框,此处XSS无法执行,因为位于value属性内,需要将其闭合测试时注意闭合掉多余的双引号”接下来对XSS漏洞进行源码修复第一处XSS在title位置,输入的搜索参数ks直接echo输出,没有进行…

    2022年6月14日
    67
  • Linux系统下安装jdk及环境配置(两种方法)

    Linux系统下安装jdk及环境配置(两种方法)这里介绍两种linux环境下jdk的安装以及环境配置方法在windows系统安装jdk以及环境配置,相信大家都会,这里就不做赘述了,这里主要讲讲linux下的jdk安装以及环境配置。第一种属于傻瓜式安装,一键安装即可(yum安装);第二种手动安装,需要自己去Oracle官网下载需要的jdk版本,然后解压并配置环境,整个过程其实很简单。一、yum一键安装这种办法简单粗暴,就像盖伦丢技能…

    2022年6月11日
    43
  • 智能车复工日记【3】:图像处理——基本扫线和基本特征提取和十字补线

    智能车复工日记【3】:图像处理——基本扫线和基本特征提取和十字补线目录前言基本扫线 除了进入环岛状态或者坡道或者十字路口的普通扫线 基本数据和初步特征进一步特征提取 1 计算并且显示前 n 行左右线各丢失数目 不 break 和 break 的都有 2 计算左右线方差 以右线为例 a 计算右线曲率 选三个点 r start 中点 break 点 b 如果右线曲率在一定的范围 就进行右线拟合 从空白行开始计算斜率 否则则从 0 行开始计算前言图像大小 185 70 通过扫线获取

    2025年7月31日
    7

发表回复

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

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