формирование набора c ++ из двух других наборов - PullRequest
0 голосов
/ 22 февраля 2012

У меня есть два набора строк.

set<string> A;
set<string> B;

Я вставлю некоторые элементы в наборы, а некоторые элементы, которые я вставлю в них, являются общими элементами.

Я могу получить элементы

  • Присутствует в A, а не в B
  • Присутствует в B, а не в A

с использованием

std::set_difference

Я также могу получить общие элементы в обоих наборах по

с использованием

std::set_intersection

Как я могу получить элементы, которые и представляют только в A и только в B и поместить их в другой набор?

Общая идея заключается в создании набора, который будет иметь не общие элементы, а все элементы в обоих наборах.

На математическом языке:

(A(UNION)B)-(A(intersection)B)

Ответы [ 2 ]

2 голосов
/ 22 февраля 2012

Как насчет std::set_symmetric_difference? Кажется, подходит, что вы хотите.

1 голос
/ 22 февраля 2012

Вы можете использовать set_symmetric_difference

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...