当前位置: 首页 > news >正文

STL学习(?、常用的算数算法和集合算法)

目录

一、常用的算数算法

1.accmulate

2.fill

二、常用的集合算法

1.set_intersection

2.set_union

3.set_difference


一、常用的算数算法

包含头文件为<numeric>

1.accmulate

函数原型

accmulate(iterator beg, iterator end, value)

// 计算元素累计和

// 开始迭代器

// 结束迭代器

// 初始值

2.fill

函数原型

fill(iterator beg, iterator end, value)

// 向容器中填充元素

// beg开始迭代器

// end 结束迭代器

// value 要填充的值

二、常用的集合算法

1.set_intersection

函数原型

set_intersection(iterator beg, iterator end, iterator beg2, iterator end2, iterator dest)

// 求两个集合的交集,两个集合必须是有序序列

// beg1 容器1开始迭代器

// end 容器1结束迭代器

// beg2 容器2开始迭代器

// end2 容器2结束迭代器

// dest 目标容器开始迭代器

// 返回值为容器最后一个非零值对应的迭代器。因为容器的size可能大于交集的size,返回值就是交集最后一个元素对应的迭代器。

2.set_union

函数原型

set_union(iterator beg1, iterator end1, iterator beg2, iterator end2, iterator dest)

//  求两个集合的并集

// 注意两个集合必须是有序序列

// beg1 容器1开始迭代器

// end 容器1结束迭代器

// beg2 容器2开始迭代器

// end2 容器2结束迭代器

// dest 目标容器开始迭代器

3.set_difference

#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
#include<numeric>
using namespace std;
void test2()
{   vector<int> v;vector<int> v1;for(int i=0;i<10;i++){v.push_back(i);v1.push_back(i+5);}cout << "v - v1" << endl;vector<int> v2;v2.resize(v1.size()+v.size());vector<int>::iterator it_end = set_difference(v.begin(),v.end(),v1.begin(),v1.end(),v2.begin());for(vector<int>::iterator it=v2.begin();it!=it_end;it++){cout << *it << " ";}cout << endl;cout << "v1- v" << endl;it_end = set_difference(v1.begin(),v1.end(),v.begin(),v.end(),v2.begin());for(vector<int>::iterator it=v2.begin();it!=it_end;it++){cout << *it << " ";}cout << endl;
}int main()
{test2();return 0;
}

http://www.lryc.cn/news/604912.html

相关文章:

  • SAP-ABAP:SAP ABAP OpenSQL JOIN 操作权威指南高效关联多表数据
  • xxljob-快速上手
  • 亚马逊云科技:赋能企业数字化转型,解决实际发展难题
  • 【7】串口编程三种模式(查询/中断/DMA)韦东山老师学习笔记(课程听不懂的话试着来看看我的学习笔记吧)
  • 飞算科技:原创技术重塑 Java 开发,引领行业数智化新浪潮
  • Power Pivot 数据分析表达式(DAX)
  • 制造业企业大文件传输的痛点有哪些?
  • SpringBoot 整合 自定义MongoDB
  • C语言:逆序输出0到9的数组元素
  • ragflow 报错ERROR: [Errno 111] Connection refused
  • KOI 2025 Round 1 Unofficial Mirror
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-51,(知识点:stm32,GPIO基础知识)
  • AOF和RDB分别适用于什么场景 高读写场景用RDB还是AOF好
  • 悬浮地(组件地与机壳绝缘)
  • 《从 Vim 新手到“键圣”:我的手指进化史》
  • 如何轻松将 Windows 10 或 11 PC恢复出厂设置
  • Cockpit管理服务器
  • ORACLE的表维护
  • RHEL 9.5 离线安装 Ansible 完整教程
  • 力扣热题100-------74.搜索二维矩阵
  • ES 文件浏览器:多功能文件管理与传输利器
  • 深度学习中的注意力机制:原理、应用与未来展望
  • 1+1>2!特征融合如何让目标检测更懂 “场景”?
  • SD-WAN助力船舶制造业数字化转型:打造智能化网络支撑体系
  • gtest框架的安装与使用
  • C#程序员计算器
  • 单片机学习笔记.AD/DA(略含有SPI,用的是普中开发板上的XPT2046芯片)
  • Rust × Elasticsearch官方 `elasticsearch` crate 上手指南
  • 《安富莱嵌入式周报》第356期:H7-TOOL的250M示波器模组批量生产中,自主开发QDD执行器,开源14bit任意波形发生器(2025-07-28)
  • ConcurrentHashMapRedis实现二级缓存