|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.09.2013, 19:39 | #1 |
Пользователь
Регистрация: 30.06.2010
Сообщений: 20
|
Определение оператора < в структуре из двух int
Здравствуйте!
Есть такой шаблон как set (к примеру, объявлен set < My_struct> pairs ), который умеет относительно быстро определять входить ли указанный элемент в набор на данный момент или нет ( это ф-я pairs.find(p) ). Для того что бы метод find работал на произвольном типе данных ( скажем, My_struct ) необходимо определить в нем операцию " < ". Вопрос как определить этот оператор для структуры из пары чисел типа int? Причем, необходимо сделать так, что бы ,например, пара 4 и 7 была бы равна паре 7 и 4. В конечном счете, в наборе должны находиться уникальные пары чисел. Спасибо за внимание. |
05.09.2013, 20:48 | #2 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
Что вообще за задача такая, где пары без учёта порядка? Тут set как-то не в тему. Но если уж очень хочется, тогда, раз порядок в паре не имеет значения, можно все эти пары нормализовать перед использованием, чтобы первое число было не больше второго, и тогда вообще можно std::pair использовать.
|
05.09.2013, 21:04 | #3 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Если решать на уровне вашей структуры, и порядок элементов не важен, то можно, например, так:
Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запись "0" в поле int в Структуре (Си) | Kruudash | Помощь студентам | 1 | 24.05.2013 00:24 |
Определение длинны Int | vl_zemtsov | Общие вопросы C/C++ | 3 | 21.06.2012 20:20 |
Программы с использованием условного оператора и оператора выбора. Задачи по Delphi. Не могу сделать 4 программу | Bovi4 | Помощь студентам | 0 | 25.10.2011 20:15 |
функция float average(int arrray[],int from,int to) | yuliyayuliya | Помощь студентам | 0 | 25.04.2011 21:55 |
Среди двух переменных а и в, не применяя оператора найти наибольшее | ulaza | Помощь студентам | 13 | 21.01.2010 09:16 |