Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dota
3 / 3 / 0
Регистрация: 20.09.2010
Сообщений: 100
#1

Сравнение списков - C++

14.04.2012, 23:15. Просмотров 863. Ответов 3
Метки нет (Все метки)

Доброго времени суток . Нужен небольшой совет по программе . Есть 2 списка (стандартный STL-кий класс list ) , нужно сравнить их на равенство или неравенство , причем порядок следования узлов не учитывать . То есть фактически списки A-B-C и B-C-A должны быть равны (если учитывать порядок , то можно воспользоваться уже перегруженным оператором == класса list ) . Не могу сообразить нужный алгоритм .Надеюсь на дельный совет. Заранее спасибо .
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2012, 23:15     Сравнение списков
Посмотрите здесь:

Сравнение двух списков - C++
Доброго всем времени суток. Изначальное задание было вот таким - "написать программу, содержащую функцию, которая определяет, входит...

Сравнение списков vector <string> - C++
# include &lt;iostream&gt; # include &lt;string&gt; # include &lt;fstream&gt; # include &lt;vector&gt; # include &lt;iterator&gt; # include &lt;algorithm&gt; ...

Сравнение 2-х списков и удаление одинаковых элементов из 2-го списка - C++
# include &lt;iostream&gt; # include &lt;string&gt; # include &lt;fstream&gt; # include &lt;vector&gt; # include &lt;iterator&gt; # include &lt;algorithm&gt; ...

Сравнение двух списков, на основе vector <string> - C++
# include &lt;iostream&gt; # include &lt;string&gt; # include &lt;fstream&gt; # include &lt;vector&gt; # include &lt;iterator&gt; # include &lt;algorithm&gt; ...

Сравнение элементов двух однонаправленных линейных списков - C++
А как сравнить элементы двух списков? Чтобы при совпадении элементов счётчик прибавлял единичку? Если список вот так задан: #include...

слияние списков - C++
помогите с написание программы!!! нужно написать программу которая объединяет два упорядоченных списка в один. Функция merge должна...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NoMasters
Псевдослучайный
1747 / 1090 / 71
Регистрация: 13.09.2011
Сообщений: 3,120
14.04.2012, 23:34     Сравнение списков #2
Думаю, стоит отсортировать и уже потом сравнивать.
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
14.04.2012, 23:58     Сравнение списков #3
Можно воспользоваться одним из алгоритмов семейства set, например, set_difference; не помню только, работает он с котейнерами разных типов или нет.

(хотя по факту выигрыш во времени вряд ли будет, потому, что, сдаётся мне этот алгоритм использует то же самое поэлементое сравнивание)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2012, 12:45     Сравнение списков
Еще ссылки по теме:

Объединение списков - C++
Все работает, но каждый элемент 3-го списка идет через пробел, можно ли убрать эти пробелы? #include &lt;iostream&gt; using namespace std; ...

Конкатенация списков - C++
Как реализовать метод объединения двух списков. Объединение двух списков. В результате должен получиться третий список.

Обработка списков - C++
Программа работы со списками написана, для малых списков (малых по объему занимаемой памяти) она работает адекватно: список строится,...

Соединение списков - C++
В общем проблема проста, но я все равно умудрился с ней застрять. Задание было создать 2 списка, ввести их с клавиатуры, отсортировать по...

Рекурсия списков - C++
Помогите пожалуйста!:(Вообщем вводится лин.список из целых чисел(конец ввода -1) 1.Рекурсивно перевернуть список 2.Найти сумму кубов...

Связь списков - C++
Доброго времени суток, В процессе решения задачи, встретилась проблема: есть структура struct TStruct { std::string *...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
dota
3 / 3 / 0
Регистрация: 20.09.2010
Сообщений: 100
15.04.2012, 12:45  [ТС]     Сравнение списков #4
насколько я знаю , есть метод sort() для таких списков . Но тогда придется перегружать оператор < , что моем случае не очень удобно .

Добавлено через 12 часов 46 минут
Единственно , что я смог придумать , это записать списки в буферные списки tmp1 и tmp2, которые можно преобразовывать , как нам захочется (так как мой оператор сравнения не предусматривает изменение объектов). Далее сортирую tmp1 и tmp2 и проверяю условие tmp1==tmp2 (благо этот оператор уже перегружен в самом классе list) .
ЗЫ : но это все , конечно , немного нерационально . неужели нет менее трудоемких способов сравнить не отсортированные объекты ? посмотрел даже парочку методов контейнера set - все работают при условии, что контейнеры отсортированы .
Yandex
Объявления
15.04.2012, 12:45     Сравнение списков
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru