C++ STL 容器的合并、求差集、交集等操作实例
2021/10/2 1:11:04
本文主要是介绍C++ STL 容器的合并、求差集、交集等操作实例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
//本实例程序演示容器之间合并、求差集、求交集 //merge、inplace_merge、set_union、set_difference、set_intersection、 #include <iostream> #include <list> #include <set> #include <algorithm> #include <iterator> using namespace std; //打印容器中的元素 void print(const int& elem){ cout<<elem<<","; } int main() { int dim[]={1,2,3,4,5,6,7}; //用于初始化l1 int dim2[]={3,4,5}; //用于初始化s1 list<int> l1; set<int> s1; for(int i=0;i<sizeof(dim)/sizeof(int);++i){ l1.push_back(dim[i]); //l1初始化 } for(int i=0;i<sizeof(dim2)/sizeof(int);++i){ s1.insert(dim2[i]); //s1初始化 } for_each(l1.begin(),l1.end(),print); //显示容器l1 cout<<endl; for_each(s1.begin(),s1.end(),print); //显示容器s1 cout<<endl<<"merge(合并l1和s1,相同元素不消除):"<<endl; //l1和s1合并,相同元素叠加机制 merge(l1.begin(),l1.end(),s1.begin(),s1.end(),ostream_iterator<int>(cout,",")); cout<<endl; cout<<"set_union(合并并消除多余相同元素):"<<endl; //l1和s1合并并消除多余相同元素 set_union(l1.begin(),l1.end(),s1.begin(),s1.end(),ostream_iterator<int>(cout,",")); cout<<endl; cout<<"set_difference(求差集):"<<endl; //求l1和s1的差集 set_difference(l1.begin(),l1.end(),s1.begin(),s1.end(),ostream_iterator<int>(cout,",")); cout<<endl; cout<<"set_intersection(求交集):"<<endl; //求l1和s1的交集 set_intersection(l1.begin(),l1.end(),s1.begin(),s1.end(),ostream_iterator<int>(cout,",")); cout<<endl; return 0; }
这篇关于C++ STL 容器的合并、求差集、交集等操作实例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-29【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版
- 2024-11-29怎么去掉UniApp中字符串的空格?-icode9专业技术文章分享
- 2024-11-29Warning: Cannot modify header information - headers already sent by 报错信息是什么?-icode9专业技术文章分享
- 2024-11-29Excel中实现拖动排序的简易教程
- 2024-11-29如何在Excel中使用拖动排序功能
- 2024-11-28阿里云 ECS课程:新手入门教程
- 2024-11-27Excel中实现拖动排序的简单教程
- 2024-11-27Rocket消息队列资料:新手入门指南
- 2024-11-27rocket消息队资料详解与入门指南
- 2024-11-27RocketMQ底层原理资料详解入门教程