生活随笔
收集整理的這篇文章主要介紹了
stl set求交集 并集 差集
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| #include <iostream> #include <set>
using namespace std;
typedef struct tagStudentInfo { ??int nID; ??string strName; ??bool operator <(tagStudentInfo const& _A) const//升序排列
????{ ???? if(nID<_A.nID) ???? return true; ???? if(nID == _A.nID) ???? return strName.compare(_A.strName) < 0; ????????return false; ????} }sInfo,*PsInfo;
int main() { ??set<sInfo>setS; ??sInfo stuInfo;
??stuInfo.nID = 10; ??stuInfo.strName = "test1"; ??setS.insert(stuInfo); ?? ??stuInfo.nID = 20; ??stuInfo.strName = "test2"; ??setS.insert(stuInfo);
??set<sInfo>::iterator sIter; ??for(sIter=setS.begin(); sIter!=setS.end(); sIter++) ??{ ????cout <<(*sIter).nID <<" "<< (*sIter).strName << endl; ??}
??set<int>a; ??set<int>b; ??set<int>c; ??set<int>d; ??set<int>e; ??? ??a.insert(1); ??a.insert(2); ??a.insert(3); ??a.insert(4); ??a.insert(5);
??b.insert(3); ??b.insert(4); ??b.insert(5); ?? ??set_union(a.begin(), a.end(), b.begin(), b.end(), inserter(c, c.begin())); ??set<int>::iterator s; ??for(s=c.begin(); s!=c.end(); s++) ??{ ????cout <<(*s)<<","; ??} ??cout << endl; ?? ??set_intersection(a.begin(), a.end(), b.begin(), b.end(), inserter(d, d.begin())); ??for(s=d.begin(); s!=d.end(); s++) ??{ ????cout <<(*s) <<","; ??} ??cout << endl; ?? ??set_difference(a.begin(), a.end(), b.begin(), b.end(), inserter(e, e.begin())); ??for(s=e.begin(); s!=e.end(); s++) ??{ ????cout <<(*s)<<","; ??} ??cout <<endl; ?? ??return 0; }????
|
?10 test1
20 test2
1,2,3,4,5,
3,4,5,
1,2,
?
轉自http://blog.chinaunix.net/uid-9950859-id-99130.html
轉載于:https://www.cnblogs.com/hailong88/p/3236554.html
總結
以上是生活随笔為你收集整理的stl set求交集 并集 差集的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。