日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

stl set求交集 并集 差集

發布時間:2025/5/22 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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求交集 并集 差集的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。