對於集合的交集,並集,差集的函式的理解

2021-10-20 16:28:47 字數 1887 閱讀 4575

對於集合的交集,並集,差集的函式的理解

演算法簡介:

交集功能:

函式原型:

需要注意的是:這兩個集合都必須是有序序列,也就是都排過序的

#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...