![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| becks |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.7.2010 Репутация: нет Всего: нет |
Добрый день, коллеги. Вопрос такой , есть два вектора такого вида:
Мне необходимо сравнить массивы second (массивы вторых элементов пары) этих векторов между собой. Допустим со всеми second из SUBR, такими, что их нет в second OBJR, делать операцию№1. С общими (одинаковыми) second из SUBR и OBJR делать операцию№2. И с second из OBJR ,которые не встречаются в SUBR делать операцию №3. Собственно работа со множествами получается, подскажите какие есть подходящие алгоритмы? Заранее благодарен. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
сравнивать элементы с одинаковым порядковым номером, или со всем рядом ? если второе массивы сортированы или нет ?
ограничены ли старым стандартом ? вообщем слишком обще написано, что не дает представлений о том, какое решение подойдет.. вот этот алгоритм может пригодиться : http://cplusplus.com/reference/algorithm/set_difference/ Это сообщение отредактировал(а) mes - 25.7.2011, 17:10 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Раз работа с множеством, то проще всего и сделать множество: отсортировать вектора по второму полю, а затем ищи подходящую операцию в stl: set_intersection, set_difference и т.д. Если массивы не слишком велики, проще, как мне кажется, сделать нужную выборку во временный массив и с ней проделать необходимые операции. -------------------- ... |
|||
|
||||
| becks |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.7.2010 Репутация: нет Всего: нет |
Сравнивать со всем рядом.
Массивы не отсортированы. ограничены ли старым стандартом ?
Хотелось бы еще добавить массивы небольшой размерности size = 30 +/- 20 . Но задача такая, что операцию придется выполнять довольно часто, хотелось бы реализовать более менее разумным образом это дело. |
||||||
|
|||||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |