計算集合的並 set

2021-08-15 22:05:39 字數 861 閱讀 8273

給你兩個集合,計算其並集,即+。 

注:+中不允許出現重複元素,但是 與之間可能存在相同元素。 

輸入格式

輸入資料分為三行,第一行有兩個數字n,m(0< n,m≤10000),分別表示集合 a 和集合 b 的元素個數。後兩行分別表示集合 a 和集合 b。每個元素為不超出 int 範圍的整數,每個元素之間用乙個空格隔開。 

輸出格式

輸出一行資料,表示合併後的集合,要求從小到大輸出,每個元素之間用乙個空格隔開。 

樣例輸入

1 2 

1 2 3 

樣例輸出

1 2 3

set集合是由不重複的資料組成的。set的插入、刪除、查詢的時間複雜度都是o(lgn)。陣列插入的時間複雜度是o(1),刪除查詢是o(n)。

#include #include #include #include #include #include #include #include #include using namespace std; 

const int inf=0x3f3f3f3f;

int main()

for(int i=1;i<=b;i++)

//使用迭代器遍歷

for(set::iterator it=st1.begin();it!=st1.end();it++)

if(!st2.empty())

for(set::iterator it=st2.begin();it!=st2.end();it++)

printf("%d ",*it);

printf("\n");

return 0;}/*

1 21

2 3*/

計算集合的並

題目 問題描述 給你兩個集合,計算其並集,即 注 中不允許出現重複元素,但是 與 之間可能存在相同元素。輸入格式 輸入資料分為三行,第一行有兩個數字 n,m 0 include include using namespace std intmain bool flag false for set i...

計算集合的並

description 給你兩個集合,計算其並集,即 注 中不允許出現重複元素,但是 與 之間可能存在相同元素。input 輸入資料分為三行,第一行有兩個數字 n,m 0output 輸出一行資料,表示合併後的集合,要求從小到大輸出,每個元素之間用乙個空格隔開。sample input 1 1 21...

計算集合的並

description 給你兩個集合,計算其並集,即 注 中不允許出現重複元素,但是 與 之間可能存在相同元素。input 輸入資料分為三行,第一行有兩個數字 n,m 0output 輸出一行資料,表示合併後的集合,要求從小到大輸出,每個元素之間用乙個空格隔開。sample input 1 1 21...