C++使用vector创建二维数组并指定大小
一、一维容器的初始化:
vector<int> v(n)表示声明一个容器v,并给他预定存储空间。每一个单元初始化为0,因此,vector<int> v(n)=vector<int> v(n, 0)。
如果想要初始化为其他值,可改为vector<int> v(n, val)。
1.声明一个简单int容器 vector<int> v;
2.声明一个长度为4的容器 vector<int> v(4);
3.声明一个长度为5,所有元素初始值为0的容器
vector<int> v(3,0);
4.用已有的数组初始化容器,区间:[a,a+5)
int a[5]={1,3,2,0,4};
vector<int > v(a,a+5);
5.用现有容器初始化一个容器
vector<int> v1(2,0);
vector<int> v2(v1);
6.用迭代器初始化容器
vector<int> v1(3, 0);
vector<int> v2(v1.begin(),v1.end());
二、二维容器的初始化:
1、初始化一个二维vector数组,并指定大小:
vector<vector<int>> vec(3, vector<int>(4));
将创建一个3行4列的二维vector数组,每个元素初始化为0:
vec=[0 0 0 0]
[0 0 0 0]
[0 0 0 0]
2、初始化时,指定每个元素的值:
vector<vector<int>> vec(3, vector<int>(4, 1));
将创建一个3行4列的二维vector,每个元素初始化为1:
vec=[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
3、如想指定每个vector的大小,并手动初始化每个元素:
resize(int num); //重新指定容器的长度为num,若容器变长,则以默认值0填充新位置,如果容器变短,则末尾超过容器长度的元素被删除
resize(int num,int elem); //重新指定容器的长度为num,若容器变长,则以elem填充新位置,如果容器变短,则末尾超过容器长度的元素被删除
vector<vector<int>> vec;
vec.resize(3); // 3行
vec[0].resize(4); // 第一行4列
vec[0] = {1, 2, 3, 4};
vec[1].resize(2); // 第二行2列
vec[1] = {5, 6};
vec[2].resize(3); // 第三行3列
vec[2] = {7, 8, 9};
创建的容器为:
vec=[1 2 3 4]
[5 6 0 0]
[7 8 9 0]
总结,初始化一个二维vector数组,并指定大小的方法有:
1. vector<vector<int>> vec(行数, vector<int>(列数));
2. vector<vector<int>> vec(行数, vector<int>(列数, 初始值));
3. vector<vector<int>> vec; vec.resize(行数); vec[i].resize(列数); vec[i] = {值};
一维长度固定,二维长度可变的二维容器数组
vector<int> v[n] n 为第一维的长度
// 1.初始化一个一维长度为3的vector
vector<vector<int>> vec(3);// 2.为每个一维vector初始化不同长度
vec[0] = vector<int>(5);
vec[1] = vector<int>(10);
vec[2] = vector<int>(2);// 3.打印vec
for (int i = 0; i < vec.size(); ++i)
{for(int j = 0; j < vec[i].size(); ++j) {cout << vec[i][j] << " "; }cout << endl;
}
相关文章:
C++使用vector创建二维数组并指定大小
一、一维容器的初始化: vector<int> v(n)表示声明一个容器v,并给他预定存储空间。每一个单元初始化为0,因此,vector<int> v(n)vector<int> v(n, 0)。 如果想要初始化为其他值,可改为vector<int…...
Spring支持哪几种事务管理类型,Spring 的事务实现方式和实现原理是?
1.Spring事务简介 事务作用:在数据层保障一系列的数据库操作同成功同失败 Spring事务作用:在数据层或业务层保障一系列的数据库操作同成功同失败 为何需要在业务层处理事务?:有些操作在数据层无法保证同成功同失败,…...
书-二分查找找某个数字p155
#include<stdio.h> int main(){int a[10]{1,4,5,6,7,8,23,34,90,14567};int mid;int low0;int high9;while(low<high){mid(lowhigh)/2;//数组分成两段,前一段low-mid,后一段mid-highif (a[mid]<23)//因为已经是排序好的了,所以如…...
【NLP】RAG 应用中的调优策略
检索增强生成应用程序的调优策略 没有一种放之四海而皆准的算法能够最好地解决所有问题。 本文通过数据科学家的视角审视检索增强生成(RAG)管道。它讨论了您可以尝试提高 RAG 管道性能的潜在“超参数”。与深度学习中的实验类似,例如&am…...
Android-Framework 默认隐藏导航栏,添加控制显示属性
一、环境 高通865 Android 10 二、源码修改 device/qcom/qssi/system.prop -217,3 217,5 persist.ruichi.gpu2persist.ruichi.gpu_max587persist.ruichi.gpu_min305# Show navigation bar, 0 for display, 1 for hidden persist.navbar.status1 frameworks/base/services/…...
【AIGC】Midjourney高级进阶版
Midjourney 真是越玩越上头,真是给它的想象力跪了~ 研究了官方API,出一个进阶版教程 命令 旨在介绍Midjourney在Discord频道中的文本框中支持的指令。 1)shorten 简化Prompt 该指令可以将输入的Prompt为模型可以理解的语言。模型理解语言…...
C语言学习----指针和数组
🌈这篇blog记录一下指针学习~ 主要是关于指针和数组之间的关系,还有指针的使用等~ 🍎指针变量是一个变量 其本身也有一个地址 也需要存放,就和int char等类型一样的,也需要有一个地址来存放它 🍌而指针变量…...
学习Node.js与Webpack总结
今天学习了模块化的简介,其实一个项目是由很多个模块文件组成的,它们有它们各自的功能和用途来协助这个项目的完成,这样的模块组成有很多的好处比如提高代码的复用性、还可以按需加载、还有独立的作用域,还需要搞清楚的一点就是No…...
JAVA基础知识:泛型
一、什么是泛型? 泛型是Java中的一种参数化类型机制,它允许在类或方法的声明中使用类型参数,以实现代码的通用性和类型安全性。通过使用泛型,我们可以编写更加灵活和可复用的代码,同时减少类型转换错误的可能性。 二、…...
【WinRAR】为什么右键没有压缩选项?
我们安装了WinRAR之后想要压缩文件,但是右键点击文件之后发现并没有WinRAR压缩选项,这应该如何设置才能出现右键带有压缩选项呢?方法如下: 首先打开WinRAR,在上面功能中点击选项 – 设置 然后我们在设置界面中切换到集…...
数据云:数据基础设施的一小步,数字经济的一大步
随着数字经济的崛起,数据正成为推动社会发展和经济增长的核心要素。在这个数字化时代,数据已经被誉为新的生产要素,是数字经济发展的基础性资源和战略性资源。为了更好地支持数据的汇聚、流通和应用,数据基础设施迎来了一次重要的…...
极兔速递查询,极兔速递单号查询,筛选出指定派件员的单号
批量查询极兔速递单号的物流信息,并将指定派件员的单号筛选出来。 所需工具: 一个【快递批量查询高手】软件 极兔速递单号若干 操作步骤: 步骤1:运行【快递批量查询高手】软件,第一次使用的朋友记得先注册ÿ…...
条款25:考虑写出一个不抛出异常的swap函数
1.前言 swap是个有趣的函数,原本它只是STL的一部分,而后成为异常安全编程的基石,以及用来处理自我赋值可能性的一个常见机制。由于swap功能如此强大,适当的实现很重要。然而在非凡的重要性之外它也带来了非凡的复杂度。 所谓swa…...
linux 中crontab 定时任务计划创建时间文件夹示例
1.创建一个sh脚本 /usr/bin/mkdir 是mkdir命令的路径 /usr/bin/chmod 是chmod命令的路径 2.编辑定时任务 crontab -e...
欣赏动态之美,不如欣赏C语言实现动态内存管理之美 ! ! !
本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 我会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 !࿰…...
from pycocotools.coco import COCO报错
需要注意的是,自己的系统是windows还是linux的系统: windows系统的安装: pip install pycocotools-windows linux的系统安装: pip install pycocotools 别用错了命令哦!...
CentOS服务自启权威指南:手动启动变为开机自启动(以Jenkins服务为例)
前言 CentOS系统提供了多种配置服务开机自启动的方式。本文将介绍其中两种常见的方式, 一种是使用Systemd服务管理器配置,不过,在实际中,如果你已经通过包管理工具安装的,那么服务通常已经被配置为Systemd服务&#…...
第二百零一回 介绍一个三方包open_settings
文章目录 1. 概念介绍2 使用方法3 代码与效果3.1 示例代码3.2 运行效果 4. 经验分享 我们在上一章回中介绍了Form Widget相关的内容,本章回中将介绍Form系列组件的验证与提交功能.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在这里说的的验…...
iview Table实现跨页勾选记忆功能以及利用ES6的Map数据结构实现根据id进行对象数组的去重
因为iview Table组件的勾选是选中当前页的所有数据,当我们切到别的页面时,会发送请求给后端,这个时候就会刷新我们之前页码已经选中的数据。现在有个需求就是,在我们选择不同页码的数据勾选中之后,实现跨页勾选记忆功能,就是说已经打钩了的数据,不管切到哪一页它都是打钩…...
【Spring 源码】 贯穿 Bean 生命周期的核心类之 AbstractAutowireCapableBeanFactory
🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
