vector 容器基础操作及用法

news2024/9/21 5:45:23

目录

vector 容器基础操作及用法

一:定义及初始化

二:添加数据

三:删除数据


vector 容器基础操作及用法

C++STL是一个非常强大的容器库,其中 vector 是最为常用也较为方便的容器之一,下面主要介绍一下 vector 的一些基础操作。

一:定义及初始化

vector <type> v;

type 是你要存储进容器中的数据的类型,比如 int、string、当然也可以是自定义类型……,注意存储的数据类型必须保持一致

vector<int> v(10,1);

如上面的一行代码所示,定义了一个 int 型的容器 v,它的 size 是10,且初始化每个元素的初始值为1。

二:添加数据

将数据存储进 vector 容器中,一般使用的都是 push_back(),将数据添加到 vector 数组末端,除非要在某个位置插入数据,否则,就尽量不要使用 insert(),因为有一些易错点,会导致程序运行错误。

vector<int> v;
v.push_back(1);

用 insert ()插入数据时要注意括号里的参数不可以写成 int 型,而是指向要插入位置的迭代器。

vector<int> v;
//…… …… …… …… …… …… …… …… ……
v.insert(v.begin()+m,n); 

这表示在下标为 v.begin()+m 的位置上插入 int 型数据 n。 

三:删除数据

删除数据用的是erase()函数,可以删除一个或者一段元素。

若删除一个元素,erase(iterator position),括号内为指向要删除位置的迭代器,并返回删除元素的下一个元素的迭代器。

#include <iostream>
#include <vector>
using namespace std;
int main()
{
	vector<int> v;
	for(int i=0;i<10;i++)
	v.push_back(i);
	v.erase(v.begin()+2);
	for(int i=0;i<v.size();i++)
	cout<<v[i]<<" ";
} 

运行结果如下

若删除一段元素,erase(iterator first,iterator last),删除从 first 到 last (不包含 last),并返回 last 位置迭代器。

#include <iostream>
#include <vector>
using namespace std;
int main()
{
	vector<int> v;
	for(int i=0;i<10;i++)
	v.push_back(i);
	v.erase(v.begin()+1,v.begin()+5);
	for(int i=0;i<v.size();i++)
	cout<<v[i]<<" ";
} 

运行结果如下

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

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

相关文章

学习threejs,创建立方体,并执行旋转动画

文章目录 一、前言二、代码示例三、总结 一、前言 本文基于threejs&#xff0c;实现立方体的创建&#xff0c;并加入立方体旋转动画 二、代码示例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>l…

数据同步方式何来“高级”与“低级”之说?场景匹配才是真理!

导读&#xff1a;数据同步方式的重要性对于数据集成领域的兴从业者不言而喻&#xff0c;选择正确的数据同步方式能让数据同步工作的成果事半功倍。目市面上的数据同步工具很多&#xff0c;提供的数据同步方式也有多种&#xff0c;不同的数据同步方式有什么区别&#xff1f;如何…

免费SSL证书正在逐渐被淘汰,证书部署自动化的发展趋势即将到来!

目录 背景解决方案。1.使用自签证书&#xff08;浏览器报警、免费&#xff09;2.更换支持自签自续的CA机构&#xff08;免费&#xff09;3.付费选择CA机构 免费SSL证书正在逐渐被淘汰&#xff0c;证书部署自动化的发展趋势即将到来免费的SSL证书有以下弊端1.有效期短&#xff1…

Python的安装与配置并在本地盘符创建共享路径打造低成本私人云盘

文章目录 前言1.本地文件服务器搭建1.1.Python的安装和设置1.2.cpolar的安装和注册 2.本地文件服务器的发布2.1.Cpolar云端设置2.2.Cpolar本地设置 3.公网访问测试4.结语 前言 本文主要介绍如何在Windows系统电脑上使用python这样的简单程序语言&#xff0c;在自己的电脑上搭建…

Leetcode面试经典150题-98.验证搜索二叉树

解法都在代码里&#xff0c;不懂就留言或者私信 二叉树的递归套路&#xff0c;练练就习惯了 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this…

内联汇编 (28)

1 首先是基本的格式。 网上的截图&#xff1a; 命令换行使用 \n\t 这里的constraint 指的就是 寄存器。 r , m , 比较重要。 这里的输出的意思是 &#xff0c; 从汇编到 C语言。 输入指的是 从C语言到 汇编语言 这是个具体的例子 %1, %2,%3, 是指 从上往下算&#xff0c;…

【Canvas与电脑桌面】白褐橘三色立方桌面(1920*1080)

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>白褐橘三色立方桌面Draft1</title><style type"text/c…

应用层协议-HTTPS协议

应用层协议-HTTPS协议 一.概述 HTTP协议&#xff1a;初衷未考虑到安全性 HTTPS是在HTTP的基础上对应用层数据进行加密操作&#xff0c;HTTPSHTTPSSL/TLS HTTPS &#xff08;全称&#xff1a;Hypertext Transfer Protocol Secure [5]&#xff09;&#xff0c;是以安全为目标…

用于客户支持的 GenAI:探索 Elastic Support Assistant

作者&#xff1a;Chris Blaisure, Cory Mangini 我们很高兴地宣布推出 Elastic 的支持助手。本博客将带你了解我们最新的生成式 AI 工具以及它可以帮助你使用 Elastic 技术的一些常见场景。 Elastic 支持助手现已在 Support Hub 上可用 今天&#xff0c;我们宣布 Elastic 支持…

vue3的el-tree的default-checked-keys无法勾选的问题解决

前言:有些树形控件是需要默认勾选的 但是请求后渲染不显示 刷新外部的key值也没有用 看了一下文档 我们使用自带的方法来解决 <el-treenode-key"id":data"state.parentMenuList":default-checked-keys"state.checkIdList":check-on-click-n…

VBA高级应用30例应用3ListObject对象:循环列出当前工作表中的表

《VBA高级应用30例》&#xff08;版权10178985&#xff09;&#xff0c;是我推出的第十套教程&#xff0c;教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开&#xff0c;这套教程案例与理论结合&#xff0c;紧贴“实战”&#xff0c;并做“战术总结”&#xff0c;以…

266-基于Xilinx Kintex-7 XC7K325T 的12路光纤Switch交换平台

一、板卡概述 该系统是由两块模块组成&#xff0c;分别是基于Xilinx公司的FPGAXC7K325T-2FFG900 芯片&#xff0c;pin_to_pin兼容FPGAXC7K410T-2FFG900 的模块和一个FPGA夹层卡&#xff08;FMC&#xff09;模块。前者支持64bit DDR3容量2GByte&#xff0c;USB3.0接口;HPC的FMC连…

reactwebpack老项目开发环境增加vite

在开发环境下&#xff0c;vite的启动时间远远高于webpack&#xff0c;特别是首次启动&#xff0c;做到了真正的按需加载&#xff0c;开发体验好于webpack&#xff1b; 目的&#xff1a;开发环境加入vite,生产环境不变react项目切webpack&#xff08;开发环境增加vite&#xff0…

一篇文章教你如何设计权限控制系统——RBAC模型详解

原文链接&#xff0c;关注获取更多技术文章&#xff01; 在信息技术飞速发展的今天&#xff0c;数据安全和系统访问控制成为了保护企业资产的关键。基于角色的访问控制&#xff08;RBAC&#xff0c;Role-Based Access Control&#xff09;模型作为一种有效的权限管理策略&…

【C++ Primer Plus习题】14.1

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream> #include "wine.h" …

自适应中值滤波器:图像去噪的高效解决方案

在数字图像处理中&#xff0c;椒盐噪声是常见的干扰之一&#xff0c;它会导致图像出现随机的黑点和白点&#xff0c;严重影响图像质量。传统的中值滤波器虽然在一定程度上能够去除这种噪声&#xff0c;但可能无法完全恢复图像的细节。为此&#xff0c;本文将介绍一种自适应中值…

81.C语言中的内存分布

目录 一.内存分布 二.视频教程 一.内存分布 代码段&#xff1a;通常是指用来存放程序执行代码的一块内存区域。通常为只读。 只读数据段&#xff1a;如字符串&#xff0c;数字等。 初始化数据段:已初始化的全局变量&#xff0c;已初始化的静态变量。 未初始化数据段&#x…

心觉:做一件事很纠结,怎么办?

Hi&#xff0c;我是心觉&#xff0c;与你一起玩转潜意识、脑波音乐和吸引力法则&#xff0c;轻松掌控自己的人生&#xff01; 挑战每日一省写作164/1000天 专心做一件事情并不容易 因为这个世界物质太丰富了&#xff0c;可以选择的事情太多了 诱惑无处不在&#xff0c;定力…

C语言——在有序数组中插入一个新的元素,且数组的排列不变

在插入新元素时&#xff0c;数组需要多一个空间&#xff0c;所以在 malloc 时分配 len 1 的空间。 #include <stdio.h> #include <stdlib.h> void insert_arry(int *arr, int len,int target) { int index; for (int i 0; i < len; i) { …

论文风向变了!迁移学习+多模态融合才是王道!性能爆炸好

多模态如今是越来越火了&#xff0c;与之相关的研究方向在各大顶会基本都成了投稿热门&#xff0c;趁着这波风向&#xff0c;我也给想发论文但找不着idea的同学推荐一个创新思路&#xff1a;迁移学习多模态融合。 这种结合可以轻松搞定提高性能这一核心问题&#xff0c;通过将…