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

C++ STL set_difference 用法

一:功能

        给定两个集合A,B;计算集合的差集,即计算出那些只包含在A中而不包含在B中的元素。

二:用法

#include <vector>
#include <algorithm>
#include <iostream>int main() {std::vector<int> data1{1, 2, 3, 4, 5, 6};std::vector<int> data2{3, 4, 5};std::vector<int> difference;std::ranges::set_difference(data1, data2,std::back_inserter(difference));for (auto v : difference) {std::cout << v << " ";}std::cout << "\n";//{1, 2, 6}
}
#include <vector>
#include <algorithm>
#include <string>
#include <iostream>struct Labeled {std::string label;int value;
};//如果两个集合中元素相等,且A中元素个数比B的多时,则会返回A中多出的那部分元素。
int main() {auto cmp = [](const auto& l, const auto& r) {return l.value < r.value;};std::vector<Labeled> equal1{{"first_a", 1}, {"first_b", 1}, {"first_c", 1}, {"first_d", 1}};std::vector<Labeled> equal2{{"second_a", 1}, {"second_b", 1}};std::vector<Labeled> equal_difference;std::ranges::set_difference(equal1, equal2,std::back_inserter(equal_difference), cmp);for (auto &[label, value] : equal_difference) {std::cout << "[" << label << " | " << value << "] ";}std::cout << "\n";
}

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

相关文章:

  • 【基础算法总结】优先级队列
  • python-绝对值排序(赛氪OJ)
  • 成功者的几个好习惯,你具备了几个
  • centos中zabbix安装、卸载及遇到的问题
  • php编译安装
  • [K8S] K8S资源控制器Controller Manager(4)
  • C#,.NET常见算法
  • KubeSphere介绍及一键安装k8s
  • Spring 系列
  • 基于opencv[python]的人脸检测
  • 配置SSH公钥互信
  • WEB渗透Web突破篇-SQL注入(MSSQL)
  • DAY15
  • pytest结合allure-pytest插件生成测试报告
  • 详细解析用户提交咨询
  • UDP/TCP协议解析
  • 力扣94题(java语言)
  • JavaScript基础入门:构建动态Web世界的基石
  • 01-client-go
  • WebRTC QoS方法十三.2(Jitter延时的计算)
  • PHP进阶:前后端交互、cookie验证、sql与php
  • 优思学院|ANOVA方差分析是什么?如何用EXCEL进行计算?
  • Mindspore框架循环神经网络RNN模型实现情感分类|(三)RNN模型构建
  • 深度解读大语言模型中的Transformer架构
  • 安装好anaconda,打开jupyter notebook,新建 报500错
  • C++20之设计模式:状态模式
  • 数据库安全综合治理方案(可编辑54页PPT)
  • 人工智能:大语言模型提示注入攻击安全风险分析报告下载
  • 【购买源码时有许多需要注意的坑】
  • CAS的三大问题和解决方案