算术类算法

简介: 算术类算法

accumulate 加法

partial_sum 逐步求和

inner_product :求积

adjacent_difference 求差

accumulate(加法)

#include<iostream>
#include<numeric>  // 算术类算法的头文件
#include<functional>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
  vector<int> vec1{ 1, 2, 3, 4, 5, 6 };
  vector<int> vec2{ 4, 5, 6, 7, 8, 9 };
  //1.accumulate  累加
  int sum = 0;
  auto m = accumulate(vec1.begin(), vec1.end(), sum);
  cout << m << endl;
  return 0;
}

partial_sum(逐步加法)

就是第一个数和第二个数相加,然后放在第二个位置上,第二个数与第三个数相加,放在第三个位置上

//2. partial_sum
  vector<int> result(vec1.size());
  partial_sum(vec1.begin(), vec1.end(), result.begin());
  //注意:用流型迭代器打印的时候,要写出类型
  copy(result.begin(), result.end(),ostream_iterator<int>(cout, " "));
  auto mm = partial_sum(vec1.begin(), vec1.end(), result.begin());

inner_product(积)

两个迭代器,各自第一个数相成乘加上各自第二个数相乘加上各自第三个数相乘…

#include<iostream>
#include<numeric>  // 算术类算法的头文件
#include<functional>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
  vector<int> vec1 = { 1, 2, 3, 4, 5, 6 };
  vector<int> vec2{ 4, 5, 6, 7, 8, 9 };
  //3.inner_prodct
  vector<int> result1(vec1.size());
  cout << inner_product(vec1.begin(), vec1.end(),vec2.begin(), 0);
  return 0;
}

adjacent_difference(求差)

第二个元素减第一个元素,第三个元素减第二个元素

#include<iostream>
#include<numeric>  // 算术类算法的头文件
#include<functional>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
  //4.adjacent_difference 求差
  vector<int> vec3{ 1, 2, 3, 4, 5, 6, 7 };
  vector<int> vec4{ 2, 3 ,4, 5, 6, 7, 8 };
  adjacent_difference(vec3.begin(), vec3.end(),ostream_iterator<int>(cout, " "));
  return 0;
}
相关文章
|
30天前
|
存储 算法 Java
Set接口及其主要实现类(如HashSet、TreeSet)如何通过特定数据结构和算法确保元素唯一性
Java Set因其“无重复”特性在集合框架中独树一帜。本文解析了Set接口及其主要实现类(如HashSet、TreeSet)如何通过特定数据结构和算法确保元素唯一性,并提供了最佳实践建议,包括选择合适的Set实现类和正确实现自定义对象的hashCode()与equals()方法。
32 4
|
3月前
|
搜索推荐 算法 Java
现有一个接口DataOperation定义了排序方法sort(int[])和查找方法search(int[],int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法
该博客文章通过UML类图和Java源码示例,展示了如何使用适配器模式将QuickSort类和BinarySearch类的排序和查找功能适配到DataOperation接口中,实现算法的解耦和复用。
39 1
现有一个接口DataOperation定义了排序方法sort(int[])和查找方法search(int[],int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法
|
3月前
|
数据采集 算法 数据可视化
基于K-Means聚类算法对球员数据的聚类分析,可以自主寻找最优聚类数进行聚类
本文介绍了一个基于K-Means聚类算法的NBA球员数据分析项目,该项目通过采集和分析球员的得分、篮板、助攻等统计数据,使用轮廓系数法和拐点法确定最优聚类数,将球员分为不同群组,并提供了一个可视化界面以便直观比较不同群组的球员表现。
基于K-Means聚类算法对球员数据的聚类分析,可以自主寻找最优聚类数进行聚类
|
4月前
创建KNN类
【7月更文挑战第22天】创建KNN类。
33 8
|
4月前
|
算法 数据库
|
5月前
|
数据采集 算法 安全
CVPR 2024:给NeRF开透视眼!稀疏视角下用X光进行三维重建,9类算法工具包全开源
【6月更文挑战第28天】CVPR 2024亮点:SAX-NeRF框架开源!融合X光与NeRF,提升3D重建效果。X3D数据集验证,Lineformer+MLG策略揭示物体内部结构,增强几何理解。虽有计算成本及泛化挑战,但为计算机视觉和医学影像开辟新路径。[论文链接](https://arxiv.org/abs/2311.10959)**
170 5
|
5月前
|
搜索推荐 算法 Java
JAVA中的交换类排序算法详解
JAVA中的交换类排序算法详解
47 1
|
6月前
|
算法 C++ 容器
黑马c++ STL常用算法 笔记(5) 常用算术生成算法
黑马c++ STL常用算法 笔记(5) 常用算术生成算法
|
5月前
|
机器学习/深度学习 算法 搜索推荐
【机器学习】近邻类模型:KNN算法在数据科学中的实践与探索
【机器学习】近邻类模型:KNN算法在数据科学中的实践与探索
99 0
|
6月前
|
算法 关系型数据库 分布式数据库
如何用 PolarDB 整合age算法插件, 实现图式搜索加速 - 刑侦、社交、风控、族谱、推荐等业务图谱类关系数据搜索
背景PolarDB 的云原生存算分离架构, 具备低廉的数据存储、高效扩展弹性、高速多机并行计算能力、高速数据搜索和处理; PolarDB与计算算法结合, 将实现双剑合璧, 推动业务数据的价值产出, 将数据变成生产力.本文将介绍PolarDB结合图式算法, 实现高效率的刑侦、社交、风控、族谱、推荐等业...
207 0