集合算法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了集合算法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1665字,纯文字阅读大概需要3分钟。
内容图文
![集合算法](/upload/InfoBanner/zyjiaocheng/789/1b53cd091e7a43ad877f718eab7c03a7.jpg)
set_union(),set_intersection(),set_difference()
? set_union: 构造一个有序序列,包含两个有序序列的并集。
? set_intersection: 构造一个有序序列,包含两个有序序列的交集。
? set_difference: 构造一个有序序列,该序列保留第一个有序序列中存在而第二个有
序序列中不存在的元素。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void main()
{
vector<int> vectorA;
vectorA.push_back(1);
vectorA.push_back(3);
vectorA.push_back(5);
vectorA.push_back(7);
vectorA.push_back(9);
vector<int> vectorB;
vectorB.push_back(1);
vectorB.push_back(3);
vectorB.push_back(5);
vectorB.push_back(6);
vectorB.push_back(8);
vector<int> vectorC;
vectorC.resize(10);//长度为10,填充默认值0
cout << "------------vectorA-------------" << endl;
printVc(vectorA);
cout << "------------vectorB-------------" << endl;
printVc(vectorB);
//并集
set_union(vectorA.begin(), vectorA.end(), vectorB.begin(), vectorB.end(),
vectorC.begin());
cout << "--------------并集--------------" << endl;
printVc(vectorC);
//交集
fill(vectorC.begin(), vectorC.end(),0);
set_intersection(vectorA.begin(), vectorA.end(), vectorB.begin(), vectorB.end(),
vectorC.begin());
cout << "--------------交集--------------" << endl;
printVc(vectorC);
//差集
fill(vectorC.begin(), vectorC.end(), 0);//把此容器值改为0
set_difference(vectorA.begin(), vectorA.end(), vectorB.begin(), vectorB.end(),
vectorC.begin());
cout << "--------------差集--------------" << endl;
printVc(vectorC);
}
运行结果:
内容总结
以上是互联网集市为您收集整理的集合算法全部内容,希望文章能够帮你解决集合算法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。