set_union是将已序的源区间[source1Beg,sourceEnd)和[source2Beg,source2End)内的元素合并,得到“以destBeg起始”的目标区间。
同时出现在两个源区间内的元素,在并集区间中将只出现一次。
#include "algostuff.hpp"
#include
#include
using namespace std;
int main(){
list
set
INSERT_ELEMENTS(coll_list,1,2);
INSERT_ELEMENTS(coll_list,2,3);
INSERT_ELEMENTS(coll_list,6,7);
INSERT_ELEMENTS(coll_list,7,9);
INSERT_ELEMENTS(coll_set,1,2);
INSERT_ELEMENTS(coll_set,2,3);
INSERT_ELEMENTS(coll_set,6,7);
INSERT_ELEMENTS(coll_set,7,9);
INSERT_ELEMENTS(coll_set,10,12);
PRINT_ELEMENTS(coll_list,"coll_list:");
cout<
cout<
set_union(coll_list.begin(),coll_list.end(),coll_set.begin(),coll_set.end(),ostream_iterator
return 0;
}
编译后输出:
coll_list:1 2 2 3 6 7 7 8 9
coll_set:1 2 3 6 7 8 9 10 11 12
1 2 2 3 6 7 7 8 9 10 11 12