国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

c++ STL set_difference set_intersection set_union 操作

2020-01-26 14:13:39
字體:
供稿:網(wǎng)友

以下是STL algorithm的幾個(gè)函數(shù),使用的條件是有序容器,所以 vector在被sort了之后是可以使用的,set也是可以使用的。

set_difference 這個(gè)是求得在第一個(gè)容器中有,第二個(gè)容器中沒有的。set_intersection 求兩個(gè)容器的交, set_union 求兩個(gè)容器的并。

set_symmetric_difference 求兩個(gè)容器的差。

最后使用的時(shí)候注意要提前分配好最后的盛放容器,其大小最好是兩個(gè)操作容器的和,然后需要根據(jù)返回的迭代器resize一下,看下面的例子。

// set_symmetric_difference example #include <iostream>   // std::cout #include <algorithm>  // std::set_symmetric_difference, std::sort #include <vector>    // std::vector   int main () {  int first[] = {5,10,15,20,25};  int second[] = {50,40,30,20,10};  std::vector<int> v(10);           // 0 0 0 0 0 0 0 0 0 0  std::vector<int>::iterator it;    std::sort (first,first+5);   // 5 10 15 20 25  std::sort (second,second+5);  // 10 20 30 40 50    it=std::set_symmetric_difference (first, first+5, second, second+5, v.begin());                         // 5 15 25 30 40 50 0 0 0 0  v.resize(it-v.begin());           // 5 15 25 30 40 50    std::cout << "The symmetric difference has " << (v.size()) << " elements:/n";  for (it=v.begin(); it!=v.end(); ++it)   std::cout << ' ' << *it;  std::cout << '/n';    return 0; }

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 元江| 务川| 红安县| 南汇区| 安国市| 漾濞| 洛浦县| 西安市| 全椒县| 天峻县| 兖州市| 湖北省| 甘德县| 衡水市| 林甸县| 益阳市| 茶陵县| 琼结县| 岢岚县| 呼图壁县| 卓尼县| 云梦县| 敦煌市| 洛南县| 鸡西市| 成武县| 温泉县| 新野县| 云林县| 疏附县| 南通市| 西安市| 元阳县| 墨脱县| 永靖县| 桑植县| 宝鸡市| 浦江县| 台南县| 家居| 新宁县|