【C++】vector中的常见函数和使用

前言

感觉vector在目前阶段很常用,就总结记录一些vector的用法
方便自己忘记的时候查找

因为是自用,所以我直接放代码了,只说明如何使用,以及一些小的注意点,对于函数具体实现过程,在这篇文章中,不做过多说明

当然,我也给出了一些使用例子,供大家参考

本文参考:
C++vector操作

代码

#include<iostream>
#include<vector>using namespace std;int main()
{vector<int>a, b;//创建向量a和向量ba.assign(b.begin(), b.begin() + 3);//将b的下标为0-2的元素赋给aa.assign(4, 2);//清空a,并向其中存入4个2a.back();//返回a的最后一个元素a.front();//返回a的第一个元素int i = 3;a.at(i);//访问下标为i的元素a.clear();//清空a中的元素a.empty();//判断a是否为空,空则返回true 非空则返回falsea.pop_back();//删除a的最后一个元素a.erase(a.begin(), a.begin() + 1);//删除从第0个元素到第1个元素 即删除下标为0的元素//使用erase的例子/*vector<int>a{ 1,2,3,4,5,6 };a.erase(a.begin(), a.begin() + 1);for (int ii : a){cout << ii << endl;}*/a.push_back(1);//在a的最后一个元素后面放入5//使用push_back()的例子//vector<int>a{ 1,2,3,4,5,6 };//a.push_back(5);//for (int ii : a)//{//	cout << ii << endl;//}a.insert(a.begin(), 5);//在a的下标为0的位置 插入5 剩下的元素统一向后移动一位//使用insert的例子/*vector<int>a{ 1,2,3,4,5 };a.insert(a.begin(), 5);for (int ii : a){cout << ii << endl;}*/a.insert(a.begin(), 3, 5);//从a的下标为0的位置开始 插入3个元素 其值为5//使用insert的例子/*vector<int>a{ 1,2,3,4,5 };a.insert(a.begin(), 3, 5);for (int ii : a){cout << ii << endl;}*/vector<int>b  = { 10,9,8,7,6,5,4 };int c[7] = { 11,12,13,14,15,16,17 };a.insert(a.begin(), b.begin() + 3, b.begin() + 6);//在a下标为0的位置,将b从下标为3的位置开始到下标为6的元素插入a.insert(a.begin(), c[2], c[4]);//在a下标为0的位置,将c从下标为2到下标为4的元素插入//使用insert的例子//vector<int>a = { 1,2,3,4 };vector<int>b = { 10,9,8,7,6,5,4 };//int c[7] = { 11,12,13,14,15,16,17 };//a.insert(a.begin(), b.begin() + 3, b.begin() + 6);//for (int ii : a)//{//	cout << ii << endl;//}//a.insert(a.begin(), c[2], c[4]);//for (int ii : a)//{//	cout << ii << endl;//}a.size();//返回a的元素个数a.capacity();//返回a在内存中总共可以容纳的元素个数a.resize(10);//将a现有的元素个数调整为10,多则删,少则补 值随机a.resize(10, 2);//将a现有的元素个数调整为10,多则删,少则补 值为2a.reserve(100);//将a的容量扩充至100a.swap(b);//交换a和b中的所有元素return 0;
}

注意点

注释1

	vector<int>a = { 1,2,3,4 };int c[7] = { 11,12,13,14,15,16,17 };a.insert(a.begin(), c[2], c[4]);for (int ii : a){cout << ii << endl;}

当我们这么编写代码时,我们的本意是将从c[2] 到c[4]的元素插入a的第一个元素的位置
但运行结果是:
在这里插入图片描述
我们可以知道,如果要连续插入到不是容器中的元素时,是无法实现我们想要的目的的

常见用法

对于vector我们在做题时,通常会用到以下函数
sort排序
reverse逆置
find查找

以及用copy实现两个向量之间的复制

在此只是提一嘴,不做详细介绍,相信大家基本都会使用这些函数

结语

对于vector的常见用法的介绍和学习到这里就结束了,希望对你有帮助,我们下篇文章见~
今天先简单水一篇(bushi

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLMs资源

一、ChatGPT 《中科院学术专业版 ChatGPT》&#xff1a; gpt_academic项目针对了中科院日常科研工作&#xff0c;基于 ChatGPT 专属定制了一整套实用性功能&#xff0c;用于优化学术研究以及开发日常工作流程。其中内置的工具&#xff0c;包括但不限于以下这些&#xff1a;学术…

使用 PyTorch 的计算机视觉简介 (1/6)

一、说明 Computer Vision&#xff08;CV&#xff09;是一个研究计算机如何从数字图像和/或视频中获得一定程度的理解的领域。理解这个定义具有相当广泛的含义 - 它可以从能够区分图片上的猫和狗&#xff0c;到更复杂的任务&#xff0c;例如用自然语言描述图像。 二、CV常见的问…

flask_apscheduler实现定时推送飞书消息

需求场景&#xff1a; 实现一个flask服务&#xff0c;通过接口控制一个定时任务任务&#xff08;对酒店订房情况进行检查&#xff09;的开启和停止。要求定时任务完成后&#xff0c;可以通过飞书机器人推送任务完成的消息。 展现效果&#xff1a; 启动定时任务 关闭定时任务…

Sentinel结合Nacos实现配置持久化(全面)

1、前言 我们在进行分布式系统的开发中&#xff0c;无论是在开发环境还是发布环境&#xff0c;配置一定不能是内存形式的&#xff0c;因为系统可能会在中途宕机或者重启&#xff0c;所以如果放在内存中&#xff0c;那么配置在服务停到就是就会消失&#xff0c;那么此时就需要重…

利用优化算法提高爬虫任务调度效率

目录 一、任务调度优化的重要性 二、选择合适的优化算法 三、建立任务调度模型 四、设计适应性函数 五、算法实施和调优 六、性能评估和优化结果分析 代码示例 总结 随着网络信息的爆炸式增长&#xff0c;网络爬虫在信息获取和数据挖掘等领域的应用越来越广泛。然而&am…

2000-2021年上市公司劳动投资效率测算数据:劳动投资效率、冗余雇佣、雇佣不足(含原始数据和计算代码do文档)

2000-2021 年上市公司劳动投资效率测算数据&#xff1a;劳动投资效率、冗余雇佣、雇佣不足 &#xff08;含计算代码do文档&#xff09; 1、时间&#xff1a;2000-2021 年 2、范围&#xff1a;沪深A 股上市公司 3、指标&#xff1a;code、year、证券代码、货币资金、短期投资…

C语言-扫雷游戏的实现

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…

MasterAlign相机参数设置-增益调节

相机参数设置-曝光时间调节操作说明 相机参数的设置对于获取清晰、准确的图像至关重要。曝光时间是其中一个关键参数&#xff0c;它直接影响图像的亮度和清晰度。以下是关于曝光时间调节的详细操作步骤&#xff0c;以帮助您轻松进行设置。 步骤一&#xff1a;登录系统 首先&…

【C++】静态成员变量 ( 静态成员变量概念 | 静态成员变量声明 | 静态成员变量初始化 | 静态成员变量访问 | 静态成员变量生命周期 )

文章目录 一、静态成员变量概念1、静态成员变量引入2、静态成员变量声明3、静态成员变量初始化4、静态成员变量访问5、静态成员变量生命周期 二、完整代码示例 一、静态成员变量概念 1、静态成员变量引入 在 C 类中 , 静态成员变量 又称为 静态属性 ; 静态成员归属 : 静态成员…

机器学习第五课--广告点击率预测项目以及特征选择的介绍

这个项目的主要的目的是通过给定的广告信息和用户信息来预测一个广告被点击与否。 如果广告有很大概率被点击就展示广告&#xff0c;如果概率低&#xff0c;就不展示。 因为如果广告没有被点击&#xff0c;对双方&#xff08;广告主、平台&#xff09;来讲都没有好处。所以预测…

UI 自动化测试框架:PO 模式+数据驱动 【详解版】

目录 1. PO 设计模式简介 什么是 PO 模式&#xff1f; PO 模式的优点 2. 工程结构简介 工程结构 框架特点 3. 工程代码示例 page 包 action 包 business_process 包 util 包 conf 包 1. PO 设计模式简介 什么是 PO 模式&#xff1f; PO&#xff08;PageObject&am…

【2023研电赛】华东赛区一等奖:基于EtherCAT通信有限时间位置收敛伺服系统

本文为2023年第十八届中国研究生电子设计竞赛作品分享&#xff0c;参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力&#xff0c;更有丰富电子礼品等你来领&#xff01;&#xff0c;分享2023研电赛作品扩大影响力&#xff0c;更有丰富电子礼品等你来领&#xff01; 基于…