對於集合的交集,並集,差集的函式的理解
演算法簡介:
交集功能:
函式原型:
需要注意的是:這兩個集合都必須是有序序列,也就是都排過序的
#include"head.h"
int main()
; sort(a.begin(), a.end(), (int a, int b)->bool );//此處只相當於複習了一下lambda表示式,因為之前只學過,沒用過,在這裡先試試,其實就相當於預設從小到大的排序;
vectorb = ;
sort(b.begin(), b.end(), (int a, int b) );
vectorc(100);
//cout << c.size();
auto it= set_intersection(a.begin(), a.end(), b.begin(), b.end(), c.begin());
for_each(c.begin(), it, (int i) );
//3,6,7
}
lambda表示式
總結:set_union
功能描述:
函式原型:
set_union(iterator beg1, iterator end1, iterator beg2, iterator end2, iterator dest);
// end1 容器1結束迭代器
// beg2 容器2開始迭代器
// end2 容器2結束迭代器
// dest 目標容器開始迭代器
#include"head.h"
int main()
; vectorb = ;
vectorc(60);
auto it=set_union(a.begin(), a.end(), b.begin(), b.end(), c.begin());//事實證明必須要排序,否則一定會出錯,錯誤提示無效引數的傳遞,不過上述陣列有序,所以不用排序;
for_each(c.begin(), it, (int i) );
}
總結
set_difference
功能描述:
函式原型:
set_difference(iterator beg1, iterator end1, iterator beg2, iterator end2, iterator dest);
//注意:兩個集合必須是有序序列
// beg1 容器1開始迭代器
// end1 容器1結束迭代器
// beg2 容器2開始迭代器
// end2 容器2結束迭代器
// dest 目標容器開始迭代器
#include"head.h"
int main()
; vectorb = ;
vectorc(60);
sort(a.begin(), a.end(), (int a, int b) );//一定要排序
sort(b.begin(), b.end(), (int a, int b) );
auto it=set_difference(a.begin(), a.end(), b.begin(), b.end(), c.begin());//相當於數學中集合a-b;
for_each(c.begin(), it, (int i) );
}
**總結 **: Python 集合的交集,並集,差集
前提 測試中需要給某些應用設定黑名單,所以從.txt檔案中求兩者的差集,就可以篩選出需要測試的應用 思路 將.txt檔案中的資料讀到list列表中,求列表的交集,再輸出到指定目錄 一.list操作的思路 a 1,2,3,4,5,6 b 5,6,7 c 交集c i for i in a if i in...
scala中集合的交集 並集 差集
scala set 1,2,3 set 2,4 方法等同於interset方法 scala set 1,2,3 intersect set 2,4 scala set 1,2,3 set 2,4 scala set 1,2,3 set 2,4 方法等同於union方法 scala set 1,2,3...
交集並集差集
1 內連線 select from student a inner join sc b on a.sno b.sno 左連線 select from student a left join sc b on a.sno b.sno 差集 select sno from student except s...