首页 > 编程语言 >容器算法迭代器初识

容器算法迭代器初识

时间:2024-12-09 23:11:23浏览次数:4  
标签:容器 迭代 iterator back 初识 算法 vector include

了解STL中容器、算法、迭代器概念之后,我们利用代码感受STL的魅力
STL中最常用的容器为vector,可以理解为数组,下面我们将学习如何向这个容器中插入数据,并遍历这个容器

Vector存放内置数据类型
容器: vector
算法:for_each
迭代器: vector::iterator

示例:

#include <iostream>
using namespace std;
#include <string>
#include <vector>
#include <algorithm> //标准算法的头文件

//vector容器存放内置数据类型

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);

    //通过迭代器访问容器中的数据
    vector<int>::iterator itBegin=v.begin(); //起始迭代器 指向容器中第一个元素
    vector<int>::iterator itEnd=v.end(); //结束迭代器 指向容器中最后一个元素的下一个位置

    //第一种遍历方式
    while (itBegin!=itEnd)
    {
        cout<<*itBegin<<endl;
        itBegin++;
    }
    
    //第二种遍历方式
    for (vector<int>::iterator it = v.begin(); it!=v.end();it++)
    {
        cout<<*it<<endl;
    }
    
    //第三种遍历方式  利用STL提供的遍历算法
    for_each(v.begin(),v.end(),myPrint);

}
int main() 
{
    test01();
    
    return 0;
}

标签:容器,迭代,iterator,back,初识,算法,vector,include
From: https://www.cnblogs.com/RX1Ri/p/18593864

相关文章

  • 【唐叔学算法】第十天:广度优先遍历-探索图结构的逐层之旅
    你是否曾为如何高效地解决图论中的搜索问题而苦恼?广度优先遍历算法,就像一位经验丰富的探险家,能帮你轻松探索图中的每个角落。今天,就让我们一起揭开广度优先遍历算法的神秘面纱,探索它在Java编程中的应用。一、什么是广度优先遍历?定义广度优先遍历是一种用于遍历或搜索图(Gr......
  • 协同过滤推荐算法的个性化购物商城系统
    感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人2025最新毕业设计项目推荐-SSM篇2025最新毕业设计项目推荐-SpringBoot篇2025最新毕业设计项目推荐-小程序、uniapp篇-CSDN博客Java精品毕设实战案例推荐​基......
  • Horovod的梯度聚合,参数同步原理;加权梯度聚合算法
    目录Horovod的梯度聚合,参数同步原理梯度聚合参数同步举例说明梯度聚合方式梯度聚合的方式举例说明加权梯度聚合算法Horovod的梯度聚合,参数同步原理Horovod(hvd)是一个用于分布式深度学习的框架,它能够实现高效的梯度聚合和参数同步。 梯度聚合梯度聚合是分布式训......
  • optim.Adam优化算法
    目录optim.Adam优化算法optim.Adam优化算法是PyTorch中实现Adam优化算法的类,它是一种用于训练深度神经网络的优化器。Adam优化器结合了AdaGrad和RMSProp的优点,通过计算梯度的一阶矩估计(即平均值)和二阶矩估计(即未中心的方差)来动态调整每个参数的学习率,使得训练过......
  • 【C++算法】35.位运算_两整数之和
    文章目录题目链接:题目描述:解法C++算法代码:题目链接:371.两整数之和题目描述:解法笔试的话直接returna+b;接下来讲一下这题的解法:位运算(异或运算-无进位相加)例如:13和2813+28=4113的二进制位a:00110128的二进制位b:011100a^b:010001因为异或运算是无进......
  • 【C++算法】36.位运算_只出现一次的数字 II
    文章目录题目链接:题目描述:解法C++算法代码:解析题目链接:137.只出现一次的数字II题目描述:解法你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。说明时间复杂度O(n),空间复杂度O(1)意外发现出现1次的那个数和所有比特位当前的和%3得......
  • Python与人工智能37——字符串全排列与算法应用场景
    ......
  • 算法学习 - Huffman树
    题目:输入N个权值(1-100正整数),建立哈夫曼树Note:一次遍历找出序列中最小数和次小数:如果序列只有一个数,返回这个数遍历这个序列,对每个数:如果这个数比最小数小,更新原来的次小数为最小数,更新原来的最小数为这个数;如果这个数不比最小数小,但比次小数小,更新原来的次小数为这个数。......
  • 初识C语言(指针、结构体)
    *前言学习C语言自用教材:C程序设计第五版--谭浩强线上课程:跟学博主:鹏哥C语言。视频:1.【初识C语言】认识C语言_哔哩哔哩_bilibili1.指针1.1内存内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的。为了有效的使用内存,把内存划分成一个个小的内存单......
  • ks短视频sig3算法分析
    sig3是某个很火的短视频的核心加密参数,48位,主要介绍深度ollvm混淆的so层算法如何还原,除此之外,此app还有大量的花指令需要处理,这块看龙哥的就好了,非常清晰.1https://www.yuque.com/lilac-2hqvv/zfho3g/issny5?#%20%E3%80%8A%E8%8A%B1%E6%8C%87%E4%BB%A4%E5%A4%84%E7%9......