set中的set_union用法

set_union是將已序的源區間[source1Beg,sourceEnd)和[source2Beg,source2End)內的元素合併,得到“以destBeg起始”的目標區間。

同時出現在兩個源區間內的元素,在並集區間中將只出現一次。


#include "algostuff.hpp"
#include <iterator>
#include <ostream>
using namespace std;


int main(){
list<int> coll_list;
set<int> coll_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<<endl;
PRINT_ELEMENTS(coll_set,"coll_set:");
cout<<endl;


set_union(coll_list.begin(),coll_list.end(),coll_set.begin(),coll_set.end(),ostream_iterator<int>(cout," "));


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 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章