c++ STL set_difference set_intersection set_union 操作
以下是STLalgorithm的几个函数,使用的条件是有序容器,所以vector在被sort了之后是可以使用的,set也是可以使用的。
set_difference这个是求得在第一个容器中有,第二个容器中没有的。set_intersection求两个容器的交,set_union求两个容器的并。
set_symmetric_difference求两个容器的差。
最后使用的时候注意要提前分配好最后的盛放容器,其大小最好是两个操作容器的和,然后需要根据返回的迭代器resize一下,看下面的例子。
//set_symmetric_differenceexample #include//std::cout #include //std::set_symmetric_difference,std::sort #include //std::vector intmain(){ intfirst[]={5,10,15,20,25}; intsecond[]={50,40,30,20,10}; std::vector v(10);//0000000000 std::vector ::iteratorit; std::sort(first,first+5);//510152025 std::sort(second,second+5);//1020304050 it=std::set_symmetric_difference(first,first+5,second,second+5,v.begin()); //515253040500000 v.resize(it-v.begin());//51525304050 std::cout<<"Thesymmetricdifferencehas"<<(v.size())<<"elements:\n"; for(it=v.begin();it!=v.end();++it) std::cout<<''<<*it; std::cout<<'\n'; return0; }
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短