C++之STL—vector容器基础篇

头文件

#include <vector>     //vector容器
#include <algorithm>  //算法

 基本用法&&概念


vector<int> v;

v.push_back(10);

vector<int >::iterator

v.begin();

v.end();

 

三种遍历方式

 

#include <vector>
#include <algorithm>void MyPrint(int val)
{cout << val << endl;
}void test01() {//创建vector容器对象,并且通过模板参数指定容器中存放的数据的类型vector<int> v;//向容器中放数据v.push_back(10);v.push_back(20);v.push_back(30);v.push_back(40);//每一个容器都有自己的迭代器,迭代器是用来遍历容器中的元素//v.begin()返回迭代器,这个迭代器指向容器中第一个数据//v.end()返回迭代器,这个迭代器指向容器元素的最后一个元素的下一个位置//vector<int>::iterator 拿到vector<int>这种容器的迭代器类型vector<int>::iterator pBegin = v.begin();vector<int>::iterator pEnd = v.end();//第一种遍历方式:while (pBegin != pEnd) {cout << *pBegin << endl;pBegin++;}//第二种遍历方式:for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {cout << *it << endl;}cout << endl;//第三种遍历方式://使用STL提供标准遍历算法  头文件 algorithmfor_each(v.begin(), v.end(), MyPrint);
}int main() {test01();system("pause");return 0;
}

vector容器内置对象

容器 放Person对象: 

 

容器 放Person对象指针:存储对象的地址&

注意:此时 it 为二级指针

嵌套容器(二维数组)

 嵌套定义:

赋值:先内层赋值,再外层

双层循环遍历:

it:外层vector 地址

vit:内层vector 地址

* it:外层vector 数据 = 内层vector 地址

(* it).begin():内层vector第一个地址

*vit:内层vector 数据

#include <vector>//容器嵌套容器
void test01() {vector< vector<int> >  v;vector<int> v1;vector<int> v2;vector<int> v3;vector<int> v4;for (int i = 0; i < 4; i++) {v1.push_back(i + 1);v2.push_back(i + 2);v3.push_back(i + 3);v4.push_back(i + 4);}//将容器元素插入到vector v中v.push_back(v1);v.push_back(v2);v.push_back(v3);v.push_back(v4);for (vector<vector<int>>::iterator it = v.begin(); it != v.end(); it++) {for (vector<int>::iterator vit = (*it).begin(); vit != (*it).end(); vit++) {cout << *vit << " ";}cout << endl;}}int main() {test01();system("pause");return 0;
}

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

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

相关文章

Leetcode3289. 数字小镇中的捣蛋鬼

Every day a Leetcode 题目来源&#xff1a;3289. 数字小镇中的捣蛋鬼 解法1&#xff1a;哈希 代码&#xff1a; /** lc appleetcode.cn id3289 langcpp** [3289] 数字小镇中的捣蛋鬼*/// lc codestart class Solution { public:vector<int> getSneakyNumbers(vector…

在线文档搜索服务测试报告

目录 1. 项目背景: 2. 项目功能: 3. 测试计划: 1. 项目背景: 1.1 在线搜索服务的前端主要一下几个功能, 分别是进入搜索引擎界面(有提示输入关键词信息); 进行输入关键词的界面, 以及显示有关关键词的文档url, 点击跳转至目标文档的界面; 1.2 该在线搜索服务的文档可以实现用…

精彩回顾|博睿数据Bonree ONE 3.0产品发布会圆满落幕:三城联动 共襄盛举!

在金秋九月的璀璨时刻&#xff0c;博睿数据于9月20日在北京圆满举办了Bonree ONE 3.0产品发布会的收官之站。此前&#xff0c;这一盛会已在上海、广州相继绽放光彩&#xff0c;三城联动&#xff0c;共襄盛举&#xff0c;不仅展现了博睿数据在可观测性领域的深厚积淀与前瞻视野&…

一行命令,一分钟轻松搞定SSL证书自动续期

httpsok 是一个便捷的 HTTPS 证书自动续签工具&#xff0c;专为 Nginx 服务器设计。已服务众多中小企业&#xff0c;稳定、安全、可靠。现在的网站SSL免费证书有效期只有3个月&#xff0c;所以就会有经常更快SSL证书的需求&#xff0c;如果手上需要更换的SSL证书比较多的情况下…

leetcode第80题:删除有序数组的重复项(||)

给你一个有序数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次 &#xff0c;返回删除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明&…

【第十一章:Sentosa_DSML社区版-机器学习之分类】

目录 11.1 逻辑回归分类 11.2 决策树分类 11.3 梯度提升决策树分类 11.4 XGBoost分类 11.5 随机森林分类 11.6 朴素贝叶斯分类 11.7 支持向量机分类 11.8 多层感知机分类 11.9 LightGBM分类 11.10 因子分解机分类 11.11 AdaBoost分类 11.12 KNN分类 【第十一章&…

【毕业论文+源码】基于ASP的课程指导平台的开发

引 言 随着全球信息化技术的兴起&#xff0c;特别是Internet的日益普及&#xff0c;解决了信息Internet上传递的问题&#xff0c;建立了一个组织得很好的信息结构框架&#xff0c;使得Internet用户能够在Internet上的任何一个终端&#xff0c;以一种简单、统一的方式来访问超…

软考中级系统集成项目管理证书好考吗

系统集成项目管理工程师证书是中国计算机技术职业资格&#xff08;水平&#xff09;考试&#xff08;简称软考&#xff09;中的中级资格之一。该证书是由人社部和工信部共同颁发&#xff0c;且证书上有这两个国家部门的印章&#xff0c;具有较高的职业认可度和市场价值。 系统…

调用JS惰性函数问题

第一次调用这个函数时 console.log(a) 会被执行&#xff0c;打印出 a&#xff0c;全局变量 a 被重定义并被赋予了新的函数&#xff0c;当再一次调用时&#xff0c;console.log(b) 被执行。 用处&#xff1a;因为各浏览器之间的行为差异&#xff0c;经常会在函数中包含了大量的…

从决策树到GBDT、随机森林

何为决策树 决策树&#xff08;Decision Tree&#xff09;&#xff0c;它是一种以树形数据结构来展示决策规则和分类结果的模型&#xff0c;作为一种归纳学习算法&#xff0c;其重点是将看似无序、杂乱的已知数据&#xff0c;通过某种技术手段将它们转化成可以预测未知数据的树…

以题为例浅谈反序列化漏洞

什么是反序列化漏洞 反序列化漏洞是基于序列化和反序列化的操作&#xff0c;在反序列化——unserialize()时存在用户可控参数&#xff0c;而反序列化会自动调用一些魔术方法&#xff0c;如果魔术方法内存在一些敏感操作例如eval()函数&#xff0c;而且参数是通过反序列化产生的…

三菱FX5U CPU模块的初始化“(格式化PLC)”

1、连接FX5U PLC 1、使用以太网电缆连接计算机与CPU模块。 2、从工程工具的菜单选择[在线]中[当前连接目标]。 3、在“简易连接目标设置 Connection”画面中&#xff0c;在与CPU模块的直接连接方法中选择[以太网]。点击[通信测试]按钮&#xff0c;确认能否与CPU模块连接。 FX5…

黑马头条day3-2 自媒体文章管理

前边还有一个 素材列表查询 没什么难度 就略过了 查询所有频道和查询自媒体文章也是和素材列表查询类似 就是普通的查询 所以略过了 文章发布 这个其实挺复杂的 一共三张表 一个文章表 一个素材表 一个文章和素材的关联表 区分修改与新增就是看是否存在id 如果是保存草稿…

数据结构和算法之树形结构(3)

文章出处&#xff1a;数据结构和算法之树形结构(3) 关注码农爱刷题&#xff0c;看更多技术文章&#xff01;&#xff01; 四、平衡二叉树(接前篇) 上一章节讲到为了避免二叉查找树退化成链表后的极度不平衡带来的低效率而衍生出了平衡二叉树&#xff0c;平衡二叉树的严格定义…

力扣上刷题之C语言实现-Days1

一. 简介 本文记录一下力扣的逻辑题。主要是数组方面的&#xff0c;使用 C语言实现。 二. 涉及数组的 C语言逻辑题 1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target的那 两个 整数&#xff0c;并返回它们的…

vmware 虚拟机多屏幕或添加屏幕

vmware 虚拟机多屏幕或添加屏幕 前置条件 vmware 安装 vmware tools 虚拟机系统支持多屏幕 物理上有至少两个屏幕&#xff0c;就是物理机上接至少一个屏幕 方法 虚拟机上点设置&#xff0c;需要在虚拟机关机时进行 ctrl alt enter 让当前虚拟机全屏 鼠标移动到屏幕虚拟机…

双路创新深度学习!TCN-Transformer+LSTM多变量时间序列预测(Matlab)

双路创新深度学习&#xff01;TCN-TransformerLSTM多变量时间序列预测&#xff08;Matlab&#xff09; 目录 双路创新深度学习&#xff01;TCN-TransformerLSTM多变量时间序列预测&#xff08;Matlab&#xff09;效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab…

Vue使用Vue Router路由:通过URL传递与获取参数

Vue Router 路由实际上就是一种映射关系。例如&#xff0c;多个选项卡之间的切换就可以使用路由功能来实现。在切换时&#xff0c;根据鼠标的点击事件显示不同的页面内容&#xff0c;这相当于事件和事件处理程序之间的映射关系。在实际的开发中&#xff0c;经常需要通过URL来传…

Invalid Executable The executable contains bitcode

Invalid Executable The executable contains bitcode xcode世界xcode16后&#xff0c;打包上传testflight时三方库报错&#xff1a;Invalid Executable - The executable ***.app/Frameworks/xxx.framework/xxx contains bitcode. 解决方案&#xff1a; 执行一下指令删除该f…

JavaScript中Windows对象下的属性和方法

1.Windows对象概念 所有的浏览器都支持Windows对象。它表示浏览器窗口 2.Boom概念 Boom&#xff1a;是指浏览器对象模型&#xff0c;它使javaScript有能力与浏览器进行对话 3.DOM概念 DOM&#xff1a;是指文档对象模型&#xff0c;通过它可以访问HTML文档中的所有元素 HT…