首页 > 编程语言 >C++刷题杂记

C++刷题杂记

时间:2024-03-19 10:14:59浏览次数:32  
标签:std 初始化 每行 元素 C++ vector 杂记 声明 刷题

目录


C++中如何声明二维vector

在C++中,你可以使用嵌套的std::vector来声明一个二维的vector。每个元素本身是一个std::vector,而这些元素的集合构成了外部的std::vector。以下是如何声明一个二维vector的示例:

#include <vector>

int main() {
    // 声明一个二维vector,初始化为3行,每行有0个元素
    std::vector<std::vector<int>> matrix(3);

    // 如果你还想初始化每行的列数,你可以使用循环或者列表初始化

    // 使用循环为每行分配列
    for (int i = 0; i < matrix.size(); ++i) {
        matrix[i].resize(2); // 现在每行有2个元素
    }

    // 或者在声明时就指定每行的列数(使用列表初始化)
    std::vector<std::vector<int>> matrix2 = {
        {0, 0}, // 第一行有2个元素
        {0, 0}, // 第二行有2个元素
        {0, 0}  // 第三行有2个元素
    };

    // 或者在声明时使用构造函数和默认元素数量
    std::vector<std::vector<int>> matrix3(3, std::vector<int>(2, 0));
    // matrix3是一个3x2的二维vector,所有元素都初始化为0

    return 0;
}

在上面的代码中,matrix是一个二维vector,最初被声明为包含3个std::vector<int>对象,但这些对象最初是空的。然后,我们使用循环来为每个内部vector分配2个元素的空间。

matrix2是使用列表初始化来声明的,它直接在声明时指定了每行的元素数量和值。

matrix3是在声明时通过构造函数来指定行数和列数的,并且为所有元素提供了一个默认值(在这个例子中是0)。这是声明和初始化二维vector时最常用的方法之一,因为它既设置了大小又提供了元素的初始值。


标签:std,初始化,每行,元素,C++,vector,杂记,声明,刷题
From: https://www.cnblogs.com/yubo-guan/p/18082112

相关文章

  • C++类实现顺序表
    环境:vscodesequencelist.h#ifndefSEQUENCELIST_H#defineSEQUENCELIST_H#defineMAXSIZE20//最大存储容量typedefintElemType;classSqList{public:SqList();//SqList(ElemTypeelems[],intn);//有参构造器~SqLis......
  • 字符串压缩(C++)
    字符串压缩:    例如:aaaabbbccx-->4a3b2cx,单个字符不压缩。基本思想:前后两两字符作比较,若相同则计数器加一,若不同则直接输出。程序代码:#include<iostream>intmain(){ strings; intcount=1; cin>>s; s=s+"";//加上空格是为了方便最后一个字符的比较 in......
  • 【c++】string类---标准库(STL)中的string类
    主页:醋溜马桶圈-CSDN博客专栏:c++_醋溜马桶圈的博客-CSDN博客gitee:mnxcc(mnxcc)-Gitee.com目录1.STL(标准库)1.1什么是STL1.2STL的版本1.3 STL的六大组件1.4 STL的重要性1.5 如何学习STL6.STL的缺陷2.为什么要学习string类2.1C语言中的字符串2.2OJ中......
  • C++进阶之路---手撕“红黑树”
    顾得泉:个人主页个人专栏:《Linux操作系统》 《C++从入门到精通》  《LeedCode刷题》键盘敲烂,年薪百万!一、红黑树的概念与性质1.概念       红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。通过对任何一条从根到叶子的......
  • 蓝桥杯刷题(十一)
    1.卡片反向思考,看k种卡片可以分给几位同学代码n=int(input())k=1whilek*(k+1)<2*n:k+=1print(k)2.美丽的2代码deff(x)->bool:whilex:ifx%10==2:returnTruex//=10returnFalsecnt=0foriinrange(1,2021):iff(i):......
  • 蓝桥杯day4刷题日记
    P8605[蓝桥杯2013国AC]网络寻路思路来源于https://www.luogu.com.cn/article/iat8irsf#include<iostream>usingnamespacestd;intn,m;intq[10010];intv[100010],u[100010];longlongres;intmain(){ cin>>n>>m; for(inti=0;i<m;i++) { cin......
  • c++类&对象(学习笔记)
    c++类&对象类,用户定义的类型,类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员,函数在一个类中被称为类的成员。c++类的定义定义一个类,本质上是定义一个数据类型的蓝图这书籍上并没有任何数据,但他定义了类的名称意味着什么,他定义了类......
  • 亲子游戏【华为OD机试JAVA&Python&C++&JS题解】
    题目描述宝宝和妈妈参加亲子游戏,在一个二维矩阵(NN)的格子地图上,宝宝和妈妈抽签决定各自的位置,地图上每个格子有不同的糖果数量,部分格子有障碍物。游戏规则是妈妈必须在最短的时间(每个单位时间只能走一步)到达宝宝的位置,路上的所有糖果都可以拿走,不能走障碍物的格子,只能上下......
  • C++看程序写结果:调用一次Line类构造函数,执行几次Point类复制构造函数?
    C++看程序写结果:调用一次Line类构造函数,执行几次Point类复制构造函数?#include<iostream>#include<cmath>usingnamespacestd;classPoint{//Point类定义public:Point(intxx=0,intyy=0){x=xx;y=yy;}Point(Point&p);......
  • 【CSP考点回顾】C++标准库加速输入输出
    C++标准库加速输入输出ios_base::sync_with_stdio(false);:取消C++标准库(iostream)与C标准库(stdio)之间的同步。默认情况下,为了保证C++的cin、cout与C的stdin、stdout能够互相交换数据,它们之间会进行同步。这样做虽然安全,但会减慢IO操作的速度,因为每次IO操作都需要进行同步。......