C++(14)——vector

news2025/1/16 13:46:19

目录

vector是什么?

vector的使用

vector的构造

vector iterator的使用

vector空间增长问题

vector的增删查改

push_back和pop_back

operator[]

总结


vector是什么?

vector是什么呢?按照英文来说,vector的英文是向量、矢量的意思。我们在cpp的网址上搜索vector,结果如下:

从搜索结果来说,vector是一个模板类,是顺序表。

因此,我们知道,vector是一个可以改变大小数组的序列容器。

有了前面学习数据结构的知识,我们使用一下vector。

vector的使用

我们接下来使用以下vector的常见接口。

vector的构造

这些都是常见的vector的构造。因为vector是一个模板类,所以vector也可以创建vector<int>类的实例和string类的实例。这样就像一个二维数组一样。

vector iterator的使用

说起迭代器大家肯定不陌生,因为string那里我们分享过,vector的迭代器和string是一样的,我们直接上代码。

vector空间增长问题

还是我们熟悉的几个接口,size、capacity、empty、resize、reserve。

我们先看一下vs环境下vector的空间开辟。

接下来我们看一resize和reserve是怎么扩容的。

看起来,resize和reserve的扩容和string是一样的,都是如果比当前空前小,就不缩小,只有比当前空间大才扩容。

vector的增删查改

我们说了,vector是一个顺序表,按照数据结构我们知道顺序表是可以增删查改的。主要有一下几个接口:push_back、pop_back、find、insert、erase、swap和operator[]。我们主要介绍push_back、pop_back和operator[]。

push_back和pop_back

这个和顺序表的尾插和尾删一样。为什么没有头插和头插呢?因为头删和头插都要挪动数据,时间复杂度很高。

operator[]

运算符重载,让我们可以按照数组一样使用vector。

总结

以上就是vector常见的用法了,还有一些函数,大家可以在cplusplus上面查找相关的的用法。

cplusplus.com - The C++ Resources Network

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1519154.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Lord 3DMCV7-AHRS 时间同步硬件触发设置

目的:通过FPGA发送脉冲触发IMU采集数据。FPGA发送脉冲时,IMU才有数据产生。 FPGA与IMU的硬件接线就不讲了,这里主要说明的是IMU的设置以及ROS驱动的config文件更改。 1. WIN上位机设置 通过IMU在WINDOWS的上位机SensorConnect对IMU的GPIO、波特率等基本功能进行设值,具体…

视频素材软件app免费网站哪里找?

在如今的短视频时代&#xff0c;为了满足视频素材创作者们的需求&#xff0c;有很多提供免费短视频素材下载的应用程序可供选择。 接下来&#xff0c;我们将对视频素材软件app免费网站哪里找做出介绍 可以考虑以下几个视频素材软件app免费 蛙学网 提供多元化视频&#xff0c…

面试常问:你在项目中遇到了哪些比较棘手的问题?怎么解决的?

你在项目中遇到了哪些比较棘手的问题?怎么解决的&#xff1f;这个问题是面试官经常会问的一个问题。 如果你回答我在项目中没有怎么遇到&#xff0c;那么面试官会觉得你什么都不会&#xff0c;对项目了解也不够深入也没有负责什么项目。 面试官其实还挺关心的是应聘者的问题…

注意力机制Attention、CA注意力机制

一、注意力机制 产生背景&#xff1a; 大数据时代&#xff0c;有很多数据提供给我们。对于人来说&#xff0c;可以利用重要的数据&#xff0c;过滤掉不重要的数据。那对于模型来说&#xff08;CNN、LSTM&#xff09;&#xff0c;很难决定什么重要、什么不重要&#xff0c;因此…

APP开发如何成功上架到应用市场?

在当今移动互联网时代&#xff0c;开发一款优秀的APP并将其成功上架到各大应用市场是每个开发者梦寐以求的成就之一。但是&#xff0c;不同类型的APP在上架过程中可能会面临各种不同的挑战和要求。 APP上架到应用市场一般包括以下几个流程&#xff1a; 步骤一&#xff1a;开发及…

web部署 三

案例: 1/在其中一个网站目录下创建\software文件夹&#xff0c;里面放txtppt/mp4/iso,文件类型。 2/web站点目录浏览启动应用。 3/用win10客户机浏览software目录下文件&#xff0c;并下载。txtppt/mp4/iso&#xff0c;发现问题并解决。 首先我们先建立一个software的文件夹并…

Linux控制台、终端、Shell 的历史

知识改变命运&#xff0c;技术就是要分享&#xff0c;有问题随时联系&#xff0c;免费答疑&#xff0c;欢迎联系&#xff01; ①微思网络&#xff0c;始于2002年&#xff01;专注IT认证培训22年。 ② 领取学习资料/课程咨询&#xff1a;小美老师&#xff08;wx&#xff09;&…

工作中Git如何切换远程仓库地址

工作中Git如何切换远程仓库地址 部门之前的仓库不用了&#xff0c;重新建了一个仓库&#xff0c;但是上传代码还是上传到了之前的仓库里面了&#xff0c;所以得进行修改&#xff0c;下面将修改地址的方法进行操作。 方法一、直接修改远程仓库地址 查看当前远程仓库地址 git …

【图形界面】学生宿舍信息管理系统,简单,模板框架,含完整代码

目录 开发一个学生宿舍管理系统 概述 开发环境 程序设计 功能展示 主菜单 添加学生信息界面 删除学生信息界面 修改学生信息界面 查询学生信息界面 5. 完整代码 6. 总结 开发一个学生宿舍管理系统 在本文中&#xff0c;我们将介绍如何使用Python和Tkinter库开发一…

P1149 [NOIP2008 提高组] 火柴棒等式

题目描述 给你 &#xfffd;n 根火柴棍&#xff0c;你可以拼出多少个形如 &#xfffd;&#xfffd;&#xfffd;ABC 的等式&#xff1f;等式中的 &#xfffd;A、&#xfffd;B、&#xfffd;C 是用火柴棍拼出的整数&#xff08;若该数非零&#xff0c;则最高位不能是 00&…

【MySQL】4. 表的操作

表的操作 1. 创建表 语法&#xff1a; CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎;说明&#xff1a; field 表示列名 datatype 表示列的类型 character set 字符集&#xff0c…

iOS面试题锦集

1. 问&#xff1a;一张图片所占内存大小跟什么有关&#xff1f; 图片所占内存大小&#xff0c;与图片的宽高有关 我们平时看到的png、jpg、webp这些图片格式&#xff0c;其实都是图片压缩格式。通过对应的算法来优化了大小以节省网络传输与本地保存所需的资源。 但是当我们加…

Nuxt3配置本地访问链接 -- Network: use --host to expose

这种表示没有在线访问本地链接 在nuxt.config.ts里面 export default defineNuxtConfig({// 配置本地访问链接devServer: {host: 192.168.1.41,//自己电脑的Ipport: 3000,}, }) 复制到浏览器就可以访问&#xff0c;给别人使用必须是局域网&#xff0c;同一个网络

FreeRTOS学习第10篇--队列使用示例

FreeRTOS学习第10篇–队列使用示例 本文目标&#xff1a;FreeRTOS学习第10篇–队列使用示例 按照本文的描述&#xff0c;可以进行简单的使用队列。 本文实验条件&#xff1a;拥有C语言基础&#xff0c;装有编译和集成的开发环境&#xff0c;比如&#xff1a;Keil uVision5 …

独家授权!广东盈世获网易邮箱反垃圾服务的独家授权,邮件反垃圾更全面

近日&#xff0c;广东盈世计算机科技有限公司&#xff08;以下简称“Coremail”&#xff09;成功获得了网易&#xff08;杭州&#xff09;网络有限公司&#xff08;以下简称“网易”&#xff09;授予的网易邮箱反垃圾服务独家使用权。这一授权使得Coremail能够在邮件安全产品上…

创建出色用户界面的五个关键技巧,助您实现用户体验的提升!

易于理解的用户界面通常很容易阅读&#xff0c;它们有美丽的布局和完美的颜色组合&#xff0c;通过提供简单和直观的选项&#xff0c;告诉用户应用程序可以做什么。 因此&#xff0c;在创建用户界面时&#xff0c;&#xff08;UI&#xff09;当时&#xff0c;UI设计师往往优先…

人大金仓大小写敏感处理

人大金仓安装的时候&#xff0c;不管是否选择大小写敏感&#xff1b;查询的时候加和不加双引号&#xff0c;查询出来的都是小写 针对人大金仓大小写&#xff0c;我们实际引用全是大写的情况&#xff0c;解决方案如下 添加配置&#xff0c;将查询结果全都转成大写 1、本地打开…

FastAPI 是什么?深入解析

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建基于 Python 的 API。它是一个开源项目&#xff0c;基于 Starlette 和 Pydantic 库构建而成&#xff0c;提供了强大的功能和高效的性能。 FastAPI 官网地址&#xff1a;fastapi.tiango…

npm WARN config init.license Use `--init-license` instead.

背景&#xff1a;近期升级本地node版本&#xff08;v14.15.4 --> v18.19.1&#xff09;&#xff0c;npm -v报警 npm WARN config init.license Use --init-license instead. npm WARN config init.author.name Use --init-author-name instead. 分析&#xff1a; npm高版本…

使用pgadmin备份数据库

本人菜鸟&#xff0c; 在使用PostgreSQL数据库的时候&#xff0c; 经常会用到这个pgadmin的可视化工具 这个工具提供了很简单的备份和还原方法&#xff0c; 操作如下 备份 (1)首先鼠标右键选中你要备份的数据库&#xff0c;如图的 LBSYS (2)然后点击 backup &#xff08;…