C++模板库STL——vector容器(下)

2023-11-16

上篇介绍了vector的基本使用,本贴将介绍一些常用的函数与方法,帮助各位更加灵活的使用vector容器。

#include <iostream>
#include <vector>
#include<algorithm>
using namespace std;
 
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) 
{
	vector<int> V1(10,100);
	//vector支持在定义时就实现赋值,此处为10个100
	for(int i=0;i<=V1.size()-1;i++)
	{
		cout<<V1[i]<<" ";	
	}
	cout<<endl;
	
	if(!V1.empty())
	//为空返回0 
	//注意:这里的函数均为调用,而非赋值 
		cout<<"V1不为空"<<endl;
	
	cout<<"V1的容量是:"<<V1.capacity()<<endl; 
	cout<<"V1的中元素的个数是:"<<V1.size()<<endl;
	V1.resize(20);
	cout<<"此时V1的容量是:"<<V1.capacity()<<endl; 
	cout<<"此时V1的中元素的个数是:"<<V1.size()<<endl;
	//多出来的空位全部默认用0来代替
	for(int i=0;i<=V1.size()-1;i++)
	{
		cout<<V1[i]<<" ";	
	}
	cout<<endl;
	V1.resize(25,5);
	//以指定元素进行填充 
	for(int i=0;i<=V1.size()-1;i++)
	{
		cout<<V1[i]<<" ";	
	}
	cout<<endl;
	
	for(int i=1;i<=15;i++)
	{
		V1.pop_back();	
	} 
	//删除后来扩充的元素
	
	vector<int>::iterator it=V1.begin();
	//定义V1的迭代器,指向开头元素 
	V1.insert(it,11);
	//此时加入的元素,默认作为第一个元素,也就是下标为0
	//默认会加在首元素的左边 
	V1.insert(it+4,17);
	//此时加入的元素,为首下标偏移4个下标,也就是下标为4
	V1.insert(it+12,5,13);
	//在最后面插入5个13 
	for(int i=0;i<=V1.size()-1;i++)
	{
		cout<<V1[i]<<" ";	
	}
	cout<<endl;
	
	cout<<"经过一系列操作后的首元素是:"<<(*it)<<endl;
	//注意,此时首元素早已变为新加入的11 
	V1.erase(it+5,it+17);
	//删除下标为5——17的元素 
	for(int i=0;i<=V1.size()-1;i++)
	{
		cout<<V1[i]<<" ";	
	}
	cout<<endl;
	V1.clear();
	//clear函数可以实现vector容器的清零
	
	vector<int> V2;
	V2.reserve(20);
	//reserve 预留位置不能填充默认元素 
	for(int i=1;i<=10;i++)
	{
		V2.push_back(i);	
	} 
	cout<<"此时vectorV2的容量为:"<<V2.capacity()<<endl; 
	for(int i=0;i<=V2.size()-1;i++)
	{
		cout<<V2[i]<<" ";	
	}
	cout<<endl;
	
	reverse(V2.begin(),V2.end());
	//注意:reverse并不是vector独有的,需要添加algorithm头文件才能使用! 
	cout<<"如下是翻转后的V2:"<<endl; 
	for(int i=0;i<=V2.size()-1;i++)
	{
		cout<<V2[i]<<" ";	
	}
	cout<<endl;
	
	
	return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++模板库STL——vector容器(下) 的相关文章

  • 在 WCF 上重用我的 PagedList 对象

    问题 我有一个自定义集合PagedList
  • 如何通过覆盖 MSBuild 目标来防止外语资源生成?

    我正在致力于减少大型 C ASP NET 解决方案的编译时间 我们的解决方案使用通常的 resx 文件方法翻译成大约十几种外语 这些资源文件的解析和编译极大地减慢了我们的编译时间 并且是日常的挫败感 我知道可以创建自定义资源提供程序并摆脱
  • 如何通过 libwebsocket 发送异步数据?

    我正在将 Warmcat 的 libwebsocket C 库用于小型 Websocket 服务器 我已经启动并运行了这些示例 并且可以发送数据以响应从 websocket 接收数据 例如回显发送的反向字节 但是 我无法弄清楚如何在不使用
  • C++ 指针和对象实例化

    这有效 MyObject o o new MyObject 而这并不 MyObject o new MyObject Why 关键词new 返回一个指针 http msdn microsoft com en us library kewsb
  • 如何从不同的线程访问控件?

    如何从创建控件的线程以外的线程访问控件 避免跨线程错误 这是我的示例代码 private void Form1 Load object sender EventArgs e Thread t new Thread foo t Start p
  • QSpinBox 输入 NaN 作为有效值

    我正在尝试扩展 QSpinBox 以能够输入 NaN 或 nan 作为有效值 根据文档 我应该使用 textFromValue valueFromText 和 validate 函数来完成此操作 但我无法让它工作 因为它仍然不允许我输入除数
  • 如何使用 CUDA/Thrust 对两个数组/向量根据其中一个数组中的值进行排序

    这是一个关于编程的概念问题 总而言之 我有两个数组 向量 我需要对一个数组 向量进行排序 并将更改传播到另一个数组 向量中 这样 如果我对 arrayOne 进行排序 则对于排序中的每个交换 arrayTwo 也会发生同样的情况 现在 我知
  • 如何调试.NET Windows Service OnStart方法?

    我用 NET 编写的代码仅在作为 Windows 服务安装时才会失败 该故障甚至不允许服务启动 我不知道如何进入 OnStart 方法 如何 调试 Windows 服务应用程序 http msdn microsoft com en us l
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • 如何在 C++ 和 QML 应用程序中使用 qrc?

    我在 Windows7 上用 c qnd Qt Creator QML 编写了 Qt Quick Desktop 应用程序 现在 我必须部署它 并且我需要隐藏 qml 文件和图像 意味着 将它们放入资源等中 我读到有一个很好的方法可以使用
  • ASP.NET MVC 动作过滤器

    有谁知道即使在 CATCH 块中 ActionFilterAttribute 类的 OnResultExecuted 方法是否也会执行 ie CookiesActions public ActionResult Login Usuarios
  • ASP.net WebForms - 在标记中使用 GetRouteUrl

    我一直在尝试弄清楚如何将路由功能与 ASP net 4 0 WebForms 一起使用 我将一条路线添加到我的路线集合中 void Application Start RegisterRoutes RouteTable Routes voi
  • Windows 上本机 C++ 应用程序中的自动死代码检测?

    背景 我有一个用原生 C 编写的应用程序 花了几年的时间 大约有 60 KLOC 有很多函数和类已经死了 可能有 10 15 就像下面提出的类似的基于 Unix 的问题 我们最近开始对所有新代码进行单元测试 并尽可能将其应用于修改后的代码
  • 使用 cmake 将两种解决方案合二为一

    我有两个单独的 Visual Studio 2013 解决方案 我想将它们迁移到一个解决方案中 因为第一个解决方案 使用 Qt 充当第二个解决方案的 GUI 最后 我希望有一个结构如下的单一解决方案 Solution All Build P
  • 调试错误:在 vc++ 项目中使用 COM 时发生 所需的运行时?

    我为我的工作创建了一个 COM 组件 我也注册了该组件 在我的系统上 我有两个虚拟机工作站 在我的第一个工作站中 它运行良好 在我的第二个工作站中 它显示一个包含消息的错误框该程序需要一段时间并以不寻常的方式关闭 请联系应用程序管理员 我认
  • C - 获取外部IP地址

    我需要通过 C C 调用获取我的公共 IP 地址 我知道作为替代方案 我可以从 http whatismyip akamai com 等外部链接获取 我写了一个示例来获取外部IP地址 但我的程序没有返回外部 IP 地址 我正在获取内部 IP
  • 为什么 C++ 标准没有将 sizeof(bool) 定义为 1?

    Size of char signed char and unsigned char由 C 标准本身定义为 1 个字节 我想知道为什么它没有定义sizeof bool also C 03 标准 5 3 3 1 说 sizeof char s
  • 强制函数调用的顺序?

    假设我有一个抽象基类 并且我想要一个必须由派生类实现的纯虚方法 但我想确保派生方法以特定顺序调用函数 我可以做什么来强制执行它 I E base class virtual void doABC 0 virtual void A 0 vir
  • Asp.Net Core 中的 SSL 不起作用

    我从 Visual Studio 创建了一个简单的 Web 应用程序Web Application Net Core 具有个人用户帐户授权的模板 然后 我启用了 SSLProject gt MyProject Properties 将带有
  • 如何通过API退出Win32应用程序?

    我有一个使用 Win32 API 编写的 C Win32 应用程序 我希望强制它在其中一个函数中退出 有没有类似的东西Exit or Destroy or Abort 类似的东西会终止它吗 哎呀呀呀呀呀呀 不要做任何这些事情 exit 和

随机推荐

  • wchar_t和char,WCHAR和CHAR的区别和互相转化

    win32应用程序的低层winnt h头文件 ifndef VOID define VOID void typedef char CHAR typedef short SHORT typedef long LONG if defined M
  • 微信公众号 H5 通联支付

    参考 https blog csdn net caimingxian401 article details 96993205 注意 必须使用 setTimeout 箭头函数延迟加载 1 使用 from 表单 提交数据至通联 2 绑定数据 3
  • 512色色谱图

    代码如下
  • 介绍uni-app框架,以及运行原理

    介绍uni app框架 uni app 是一个使用 Vue js 开发所有前端应用的框架 开发者编写一套代码 可发布到iOS Android Web 响应式 以及各种小程序 微信 支付宝 百度 头条 QQ 钉钉 淘宝 某些平台不能提交简单d
  • 干货丨RPA内网验证码识别技巧

    通常在一些网络安全等级比较高的大型客户里面 如银行 政府等 RPA的实现流程基本都是内网环境 没办法使用外网 那么这个时候针对一些客户端或者网银登录的字符型验证码识别 没办法通过UiBot调用公网环境中的OCR组件进行识别 或者使用需要外网
  • 卷积神经网络(CNN)

    卷积神经网络 一 摘要 卷积网络 Convolutional network 也叫神经网络 是一种专门用来处理具有类似网格结构的数据的神经网络 例如时间序列数据和图像数据 可以看做二维的像素网络 卷积网络在诸多应用领域表现得都比较出色 卷积
  • 【数模】预测模型

    一 灰色系统 白色系统 系统信息完全明确 灰色系统 系统部分信息已知 部分信息未知 对在一定范围内变化的 与时间有关的灰色过程进行预测 过程 原始数据找规律 生成强规律性的数据序列 建立微分方程来预测未来趋势 黑色系统 系统的内部信息未知
  • 基于 SSM 框架的学生在线选课系统设计

    系统概述 在线选课系统中包含教师 学生两种用户 学生登录 管理自己的账号信息 修改信息等 增加或移除课程 教师登录 对个人资料进行查看和密码的修改 维护课程信息 增加与删除课程 对学生的分数进行增加 修改和删除的操作 系统基本功能结构 教师
  • Octave 基本操作 from 吴恩达的机器学习

    1 数学运算 注 在octave中是注释符号 2 逻辑操作 XOR 注意 不等于符号的写法是这个波浪线加上等于符号 3 打印 2 直接打印 设置a等于圆周率 如果我要打印该值 那么只需键入a像这样就打印出来了 注 在赋值语句最后加入 号 即
  • IDEA导入SpringBoot项目或者Maven项目(详解大全)

    1 解压项目 解压出后 2 打开IDEA导入项目 点击 找到你的项目 打开项目 选择maven项目 点击finsh按钮 3 启动启动类 无反应 找到原因 是maven的问题 使用maven中clear命令测试出错 4 修改maven配置 这
  • 编译器何时调用默认构造函数

    总的来说 编译器只在它需要的时候才会合成一个默认构造函数 或者扩张所有已存在的构造函数 一个类满足下列其中任何一个条件 1 包含了一个类的对象 这个对象有一个构造函数 包括编译器合成的默认构造函数 2 如果继承自一些基类 其中某些基类有一个
  • 不会写通讯录,你就是“文”盲

    目录 一 通讯录的实现 静态版 1 1文件的创建 1 2通讯录要存放的信息 1 3通讯录的功能 1 4通讯录的创建 1 5菜单打印以及基本逻辑的实现 1 6初始化通讯录 1 7增加联系人 1 8显示联系人 1 9删除联系人 1 10查找联系
  • http深入

    首部字段 包含请求和响应的各种条件和属性的各类首部 一般有4种首部 分别是 通用首部 请求首部 响应首部和实体首部 一 http通用首部 1 1 Cache Control字段 1 1 1 表示是否能缓存的指令 public Cache C
  • 小米iot业务_小米,大时代下的潜行者

    11月27日 小米发布了2019年第三季度的财务业绩 报告期内 小米收入达到537亿人民币 同比增长5 5 这是小米单季度的营收新高 相比收入 盈利能力的提高是小米财报最大的亮点 2019年第三季度 经调整后净利润为35亿元 同比增长20
  • Python代码制作2020“恐龙跳一跳“小游戏

    开发工具 Python版本 3 6 4 相关模块 pygame模块 以及一些Python自带的模块 相关文件 欢迎与我交流 环境搭建 安装Python并添加到环境变量 pip安装需要的相关模块即可 原理介绍 游戏规则简介 玩家通过空格键控制
  • springcloud入门基础搭建之hystrix

    目录 1 工程目录 2 单独使用hystrix 2 1引入依赖 2 2主启动添加 EnableHystrix 2 3在需要进行错误降级的方法上添加 HystrixCommand 2 4测试 3 整合feign和hystrix 3 1依赖 3
  • 如何搭建测试平台体系

    一个健康的测试平台体系 对测试人员的职责分工 协作模式会有不同的要求 测试平台核心的职责是完成高质量的交付已满足业务需求 测试活动包括单元测试 集成测试 接口测试 性能测试等 都是通过这些测试手段 协同整个测试平台来完成高质量交付的管理工作
  • Token的详细说明,看这一篇就够了

    文章目录 1 基于Token 的身份验证方法 2 JWT 2 1 Header 2 2 Payload 2 3 signatrue 3 Web安全 对于 Token 在很多大型网站中都有所应用 比如 Facebook Twitter Goo
  • C#编码规范-使用StyleCop进行代码格式检查

    前言 但是在项目开发的过程中 如果只是验证命名规则 而没有统一程序排版 不同开发人员将产出不同的文件格式 这样的产出 虽然能够正常地提供项目功能 但缺会大幅降低了这份程序代码的可维护性与可读性 本篇文章介绍如何通过StyleCop这个工具
  • C++模板库STL——vector容器(下)

    上篇介绍了vector的基本使用 本贴将介绍一些常用的函数与方法 帮助各位更加灵活的使用vector容器 include