我試圖創建一個SetUnion函數,它需要兩個set<int>
元素和它們的聯合。SetUnion:設置<int>×設置<int>→設置<int>
SetUnion: set<int> × set<int> → set<int>
任何幫助表示讚賞。
我試圖創建一個SetUnion函數,它需要兩個set<int>
元素和它們的聯合。SetUnion:設置<int>×設置<int>→設置<int>
SetUnion: set<int> × set<int> → set<int>
任何幫助表示讚賞。
既然你正在處理std::set
,可以通過簡單地將兩組元素加在一起來構建聯合,如下所示:
set<int> a {1,2,3,4};
set<int> b {3,4,5,6};
// Copy the first set
set<int> u(a);
// Add elements of the second set to the copy to get a union
u.insert(b.begin(), b.end());
該功能已經在標準庫中存在,看到std::set_union,您可以使用如下:
std::vector<int> vec1 = {1, 2, 4}, vec2 = {5, 4, 2}, vecUnion;
std::set_union(vec1.begin(), vec1.end(), vec2.begin(), vec2.end(), std::back_inserter(vecUnion));
for(auto i : vecUnion)
{
std::cout << i << ", " std::endl;
}
這將打印出以下:
1, 2, 4, 5,
什麼給?誰沒有解釋就遞減? – Trancot
試着用你自己的雙手去做,當你有一個真實的和具體的問題時回來。 – Elazar
我猜是因爲你沒有展示你已經嘗試過的東西。那麼['set_union'](http://en.cppreference.com/w/cpp/algorithm/set_union)? – dyp