首页 > 编程语言 >C++ STL adjacent_difference 用法

C++ STL adjacent_difference 用法

时间:2024-08-01 18:27:46浏览次数:10  
标签:std begin include STL adjacent difference data out

一:功能

        计算相邻两个元素的差(默认),也可以使用其他自定义运算函数,比如计算相邻两个元素的和。

二:用法

#include <iostream>
#include <vector>
#include <numeric>

int main() {
    std::vector<int> data{2, 3, 5, 7, 11, 13};
    //前两个参数指定输入的范围,第三个参数是指定输出的位置
    std::adjacent_difference(data.begin(), data.end(), data.begin());
    for (auto v : data)
        std::cout << v << " ";
    std::cout << "\n";
}
//2 1 2 2 4 2 

//并行版本
#include <iostream>
#include <vector>
#include <numeric>
#include <execution>

int main() {
    std::vector<int> data{2, 3, 5, 7, 11, 13};
    std::vector<int> out(data.size());
    std::adjacent_difference(std::execution::par_unseq,
        data.begin(), data.end(), out.begin());
    
    for (auto v : out)
        std::cout << v << " ";
    std::cout << "\n";
}
//2 1 2 2 4 2 

 

标签:std,begin,include,STL,adjacent,difference,data,out
From: https://blog.csdn.net/zg260/article/details/140835001

相关文章

  • contiguous、continuous、continual、serial、adjacent、consecutive和successive的区
    contiguous:表示连续、完整、不间断。比如一张纸,它是contiguous的,撕开再拼上,他就只能是consecutive的continuous:表示某事一直持续,没有停顿serial:系列。表示一连串相同的或者类似的或者有共同特征的东西。强调共同特征。adjacent:相邻。与consecutive的区别是,consecutive强调没有......
  • STL and Design Pattern
    DesignPatterns[TODO]0x01.依赖转置原则ref1例如人吃巧克力:publicinterfaceIChocolates{}publicclassOreoimplementsIChocolates{}publicclassDoveimplementsIChocolates{}publicinterfacePerson{voideat(IChocolateschocolates);}上面的例子......
  • 用matlab中的stlread函数得到三维模型后应该怎么得到模型根据z轴变化的切片?z轴上的每
    用matlab中的stlread函数得到三维模型后应该怎么得到模型根据z轴变化的切片?z轴上的每个面我都需要一个模型截面在MATLAB中,从STL文件读取三维模型后,您可以使用以下步骤获取根据Z轴变化的切片。这里提供一个基本的步骤和示例代码,帮助您实现这一目标:读取STL文......
  • STL模板库介绍
            C++STL(StandardTemplateLibrary)是一系列提供各种数据结构和算法的模板库。        标准模板库(‌STL)‌是C++编程语言中的一个重要组成部分,‌它提供了一组通用的类和函数,‌用于实现数据结构和算法。‌        STL主要由以下几个部分组成:‌......
  • STL标准模板库
    STL(StandardTemplateLibrary)标准模板库是C++标准库中的一个重要组成部分,它提供了一组通用的模板类和函数,用于数据结构和算法的实现。STL的核心部分包括容器、算法和迭代器,这三者紧密结合,使得C++编程更加高效和灵活。vector是C++标准模板库(STL)中的一个序列式容器,它提供了......
  • STL用法总结(二)(deque,map,set)
    4.deque(双端队列)1.介绍首尾都可插入和删除的队列为双端队列#include<deque>//初始化定义deque<int>dq;2.方法函数代码含义q.push_back(x)/pusu_front(x)把x插入队尾/队首q.back()/front()返回队尾/队首元素q.pop_back()/pop_front()删除队尾/队首元素q.erase(ite......
  • C++提高编程—2、STL—基础知识以及Vector容器的数据插入和遍历
    2.1STL的诞生2.2STL的基本概念2.3STL的六大组件2.4STL中容器、算法、迭代器2.5容器算法迭代器初识2.5.1vector存放内置数据类型#include<iostream>usingnamespacestd;#include<vector>#include<algorithm>//标志算法头文件//vector容器存放内置......
  • Bouncy Castle集成SM2与SM3
    BouncyCastle中集成SM2和SM3的讲解: 首先,确保您已经正确地将BouncyCastle库引入到您的项目中。这通常需要在项目的构建配置中添加相应的依赖项。 SM2是非对称加密算法,在集成时: 1. 密钥生成: -使用BouncyCastle提供的特定类和方法来生成SM2的公私钥......
  • STL大法之二分函数
    ##致歉:本文使用Markdown格式,想要体验更好的阅读感受可以将文章复制在支持Markdown格式的地方(可以复杂的叭,皮一下QwQ)。##更正:**文中所有函数都有区间,在此修改并提醒。**——$(2024-6-7)$**初版有许多问题,如将$fill(a+first,a+last,x)$写成$fill(a,a+10,x)$,在此改正......
  • 【C++/STL】map和set介绍
    ......