есть два
list<int> a (4,100);
list<int> b (4,200);
Я использую их как наборы, таким образом сортируются и уникальны:
a.sort();
a.unique();
b.sort();
b.unique();
Теперь два списка похожи на следующие:
a: 100
b: 200
Теперь я вычисляю объединение:
list <int> c(a.size() + b.size());
set_union(a.begin(), a.end(), b.begin(), b.end(), c.begin());
Результат хороший, но я хочу не копировать два списка в другой список. Потому что список будет очень большим и не будет содержать целые числа.
set_union(a.begin(), a.end(), b.begin(), b.end(), a.begin());
Не работает, но я на самом деле хочу, чтобы результат был в без вычисления большой копии и сделал
a = c;
aftterwards. Дополнительная проблема заключается в том, что если a = b = {100}, то результат c
{100, 0}!
Есть идеи?