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-10-04el-table 开启定时器下,表格的选中状态会消失是什么原因-icode9专业技术文章分享
- 2024-10-03如何安装和初始化飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03如何安装 App 并连接到飞牛 NAS?-icode9专业技术文章分享
- 2024-10-03如何安装飞牛 TV 并连接到影视服务器?-icode9专业技术文章分享
- 2024-10-03如何在PVE和ESXI上安装飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS安装系统异常情况处理-icode9专业技术文章分享
- 2024-10-03飞牛NAS如何创建存储空间?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS硬盘会自动休眠吗?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何安装飞牛影视和创建媒体库?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何为家人朋友开通影视账号?-icode9专业技术文章分享