vector 介绍

news2024/11/15 6:53:25

1.简述vector

首先我们要大致弄明白vector是一个什么东西,其实vector就是之前我们学过的顺序表,这里直接使用就行了.

定义vector-------->vector<typename> arr

此时的这种定义vector可以理解成为一个数组,而typename可以是各种数据类型,比如string,int,double......等等

此时的vector就是一个int类型的顺序表.

2.数据尾插

对于vector的尾插,这个时候就用到了vector的push_back接口,这个接口就可以直接帮我们实现尾插

3.数据尾删

尾删则使用到pop_back接口来实现.

4.数据插入(insert)

在vector中,使用insert可以实现数据的各种插入,他有两个参数,一个是在想要插入的地方的下标,另一个是插入的参数.

而此时的下标是一个iterator迭代器,他并不是一般类型,之前我们接触到的下标类型大多数都是int类型的,或者有些是size_t类型的,那他在这里他是一个迭代器.

5.数据删除

数据删除所用到的接口的使用方式跟insert很相似,都是用的iterator类型的参数

而erase接口的作用就是可以删除指定位置的元素.

6.capacity,size

可以查看vector的容量,size可以查看当前vector的长度.比如下面这个例子

这边我插入了四个数据,然后查看capacity和size,都是4个,这么看他们是不是大差不差?

别急,我操作一下再看看.

此时的capacity已经是100了,由此可以看出,reserve是扩容的

7.reserve

reserve方法是扩容的方法,但是他扩容也是有一定条件的,就是当你想扩容的时候,他会检查旧容器的容量和新容器的容量,如果新容器的容量小于旧容器的容量,则忽略这次扩容操作,这个不会改变字符串的大小,但会预留足够的内存以容纳至少指定数量的字符,如果新容器的容量大于旧容器的容量,则会进行扩容操作.

此时的新容量是10,旧容量是13,则不会进行扩容操作

此时新容量大于就容量,进行扩容操作.

8.resize

这个方法和reserve有一个相似的点那就是扩容,但是与之不同的是,reserve仅仅只是扩容,而resize不止是对capacity操作,他也可以调整整个容器的size.

他有三种情况,首先如果他的n小于当前的size,则当前的size就会缩减,缩减到n,并且里面的元素全都消失

可以看到,这个时候的size已经被缩减到5了.

第二种情况是n大于当前size,如果n大于当前的size,则会把capacity和size都进行扩容

如果说之写一个n的话,他新增的size都会被0给填充,如果他后面加一个数字,则换成那个数字

一般来说,这个resize可以拿来快速初始化一个vector类型

这里就是开10个空间,然后把里面全部初始化成0

还有一点则是,如果说n>当前的capacity了,那么就会把当前的容器存储的空间进行重新分配.申请新空间,复制原有的内容,然后释放旧空间

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

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

相关文章

react启用mobx @decorators装饰器语法

react如果没有经过配置&#xff0c;直接使用decorators装饰器语法会报错&#xff1a; Support for the experimental syntax ‘decorators’ isn’t currently enabled 因为react默认是不支持装饰器语法&#xff0c;需要做一些配置来启用装饰器语法。 step1: 在 tsconfig.js…

宪法学学习笔记(个人向) Part.6

宪法学学习笔记(个人向) Part.6 5. 国家机构 概述 国家机构是国家为了实现其管理社会、维护社会秩序职能而建立起来的国家机关的总和&#xff1b;它包括&#xff1a; 立法机关&#xff08;全国人大及其常委会&#xff09;;行政机关&#xff08;国务院和地方人民政府&#xff09…

文心一言:如何备考软考架构师

提问&#xff1a;软考高级:架构师指导&#xff0c;有哪些考点、重点考点有哪些&#xff1f;需要如何备考&#xff1f;案例分析题如何做&#xff1f;论文如何写&#xff1f; 文心一言回答1700字如下&#xff1a; 针对软考高级架构师的考试&#xff0c;以下是对考点、重点考点、备…

33. 322.零钱兑换,279.完全平方数,139.单词拆分,关于多重背包,你该了解这些!,背包问题总结篇!

class Solution { public:int coinChange(vector<int>& coins, int amount) {if(amount 0) return 0;// dp[j]&#xff1a;凑足总额为j所需钱币的最少个数为dp[j]vector<int> dp(amount 1, INT_MAX); //注意初始化方式&#xff01;&#xff01;&#xff01;&…

包管理器冲突-jupyter安装配置

当你使用不同的包管理器安装相同的包&#xff0c;可能存在冲突&#xff0c;比如安装jupyter notebook在本地运行&#xff0c;你可能会遇到这种错误&#xff1a; TypeError: create.<locals>.Validator.__init__() got an unexpected keyword argument registry 甚至你可…

客家菜餐馆点菜小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;菜系管理&#xff0c;菜品信息管理&#xff0c;我的订单管理&#xff0c;桌号管理&#xff0c;退款信息管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;菜品信息&#…

vue + element ui 实现侧边栏导航栏折叠收起

首页布局如下 要求点击按钮,将侧边栏收缩, 通过 row 和 col 组件&#xff0c;并通过 col 组件的 span 属性我们就可以自由地组合布局。 折叠前 折叠后 <template><div class"app-layout" :class"{ collapse: app.isFold }"><div class&…

医疗级微型导轨:保障医疗行业手术安全!

微型直线导轨能成为一种专为医疗行业设备运用的高精度线性运动设备&#xff0c;在现代医疗领域&#xff0c;精准的位置控制和平稳的运动对于确保医疗设备的高效性能至关重要。那么&#xff0c;医疗行业对微型导轨有哪些要求呢&#xff1f; 1、精度&#xff1a;在手术过程中&…

蔡仲杨摄影入门到高手

描述 蔡仲杨&#xff0c;一个富有才华的老师&#xff01; 对于大家的学习有不可多得的帮助。 内容 目前主要的内容以摄影为主&#xff0c;对于学习摄影有比较大的帮助&#xff01; 但是网络上面错综复杂&#xff0c;很多老旧的版本影响学习&#xff01; 而这里我整理了相关…

小白学python(第七天)

哈哈&#xff0c;这个系列的文章也有一段时间没更新&#xff0c;主要是最近在忙c嘎嘎&#xff0c;不过没事接下来会优先更python啦&#xff0c;那么我们先进入正题吧 函数的定义及调用 函数定义 格式&#xff1a;def 函数名&#xff08;形参列表&#xff09;&#xff1a; 语…

函数(实参以及形参)

实际参数&#xff08;实参&#xff09; 实际参数就是在调用函数时传递给函数的具体值。这些值可以是常量、变量、表达式或更复杂的数据结构。实参的值在函数被调用时传递给对应的形参&#xff0c;然后函数内部就可以使用这些值来执行相应的操作。 int main() {int a 0;int b …

【Flowable | 第一篇】Flowable介绍以及数据库表说明

文章目录 1.前言1.1Flowable是什么&#xff1f;1.2重要概念1.3使用步骤 2.全局配置说明2.1数据库表说明2.2BPMN文件说明&#xff08;了解&#xff09;2.2.1BPMN定义2.2.2BPMN基础元素 1.前言 1.1Flowable是什么&#xff1f; Flowable是WorkFlow的一种工作流WorkFlow&#xff…

zabbix 7.0 SNMP Hex数据预处理新功能

一、简介 zabbix7.0新特性是监控项新增支持SNMP Hex数据预处理。其中内置了对snmp请求结果Hex转换处理&#xff0c;不再需要使用繁琐的方式&#xff0c;如javascript脚本、替换、修整等方式处理将监控项取值做可视化处理&#xff0c;大福提升SNMP采集获取到Hex数据的处理效率。…

day05-matplotlit设置图形各种参数

matplotlib网格 1. 显示网格:plt.grid() plt.grid(True, linestyle "--",color "gray", linewidth "0.5",axis x)显示网格linestyle&#xff1a;线型&#xff0c;“–”:表示网格是虚线&#xff0c;默认为实线color&#xff1a;网格颜色li…

MongoDB7出现:Windows下使用mongo命令提示不是内部或外部命令

确保环境变量添加正确的情况&#xff0c;仍然出现这种问题。如果安装的是新版本&#xff0c;则大概率是新版本mongodb的bin里面没有mongo命令 解决方案&#xff1a; 下载mongodb shell 下载链接 把shell的命令放进来 启用命令&#xff1a;mongosh

记录些Redis题集(3)

分布式锁 分布式锁是一种用于在分布式系统中实现互斥访问的机制&#xff0c;它可以确保在多个节点、或进程同时访问共享资源。如果没有适当的锁机制&#xff0c;就可能导致数据不一致或并发冲突的问题。 分布式锁需要的介质 需要一个多个微服务节点都能访问的存储介质&#…

【操作系统】进程管理——死锁(个人笔记)

学习日期&#xff1a;2024.7.13 内容摘要&#xff1a;死锁的概念和三大处理策略 目录 死锁 死锁的概念 死锁、饥饿和死循环的区别 死锁产生的必要条件 死锁的处理策略&#xff1a;预防、避免和解除 预防死锁 破坏互斥条件 破坏不剥夺条件 破坏请求和保持条件 破坏循…

UWB定位系统在智能制造行业中的主要功能

定位系统全套源码&#xff0c;UWB定位系统 UWB&#xff08;超宽带&#xff09;定位系统在智能制造行业赋能可以实现多种功能&#xff0c;这些功能不仅提升了企业的管理水平和生产效率&#xff0c;还增强了生产现场的安全性和灵活性。 开发语言&#xff1a;JAVA 开发工具&…

【产品应用】一体化步进伺服电机在板材封边机中的应用

随着现代工业技术的快速发展&#xff0c;封边机作为木材加工行业的重要设备&#xff0c;其精度、效率和稳定性已成为衡量设备性能的重要指标。 近年来&#xff0c;一体化步进伺服电机因其高精度、高效率和强稳定性等特点&#xff0c;在封边机中得到了广泛应用。 本文将详细介绍…

医疗器械FDA |FDA网络安全测试具体内容

医疗器械FDA网络安全测试的具体内容涵盖了多个方面&#xff0c;以确保医疗器械在网络环境中的安全性和合规性。以下是根据权威来源归纳的FDA网络安全测试的具体内容&#xff1a; 一、技术文件审查 网络安全计划&#xff1a;制造商需要提交网络安全计划&#xff0c;详细描述产…