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

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

Войти
Регистрация
Восстановить пароль
 
emmure
2 / 2 / 0
Регистрация: 15.12.2012
Сообщений: 93
#1

Реализовать контейнер multiset к классу - C++

13.06.2014, 23:25. Просмотров 780. Ответов 3
Метки нет (Все метки)

Здравствуйте у меня есть класс и мне надо реализовать контейнер multiset к этому классу. Проблема в том что я не могу понять особенности этого контейнера, то есть:
1) Какие функции он в себя включает(насколько я понял это добавление/удаление/поиск , а вот реализован ли в стандартном мультисете поиск по итератору, и есть ли в нём вообще итератор я так и не понял)
2)Правильно ли я понял что элементы контейнера имеют только ключ и ничего более?
3)Как вообще реализован поиск(то есть если предположение 2 верно, то что он мне будет выводить если я буду искать по ключу)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2014, 23:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реализовать контейнер multiset к классу (C++):

Можно ли на базе массива реализовать контейнер - C++
Можно ли на базе массива реализовать контейнер? Если да, то как это будет происходить?

Реализовать контейнер данных наподобие файловой системы - C++
Требуется реализовать контейнер данных наподобие файловой системы с возможностью создавать и уничтожать файлы и читать/записывать в них...

Контейнер map: реализовать проверку на уникальность ключа - C++
Приветствую форумчан, имеется контейнер map с элементами struct Elemnts { int key; char *word; }; Главное требование контейнера...

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

Какой ассоциативный контейнер выбрать? И как реализовать в нем чтение из файла? - C++
Вот сама задание: Текстовый файл содержит следующую информацию: координату точки и угол наклона прямой, проходящей через эту точку....

Реализовать упрощенный контейнер "вектор" - C++
Да, знаю, что тема избитая, но: Стоит такой вопрос "Чем отличается шаблонный класс от контейнера в данном случае - Реализовать шаблон...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
tehnar5
31 / 31 / 12
Регистрация: 03.05.2011
Сообщений: 84
13.06.2014, 23:34 #2
Это контейнер, представляющий собой красно-черное дерево(в вики можно почитать описание), поддерживает удаление, вставку, поиск элемента за время O(logN), N - количество элементов в сете. Да, итератор есть, как и поиск по нему. Элементы имеют только ключ.
Сам сет представляет собой бинарное дерево поиска, соответственно, поиск как в бинарном дереве, опять же надо читать в вики подробное описание
emmure
2 / 2 / 0
Регистрация: 15.12.2012
Сообщений: 93
14.06.2014, 03:48  [ТС] #3
Спасибо, но я так и не понял насчёт 3 пункта. Что должно выводится если мы ищем по ключу?

Добавлено через 3 часа 4 минуты
скажите хотя бы а то нигде ненашёл как хранить элементы в памяти в контейнере set/multiset как односвязный список или как что?
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,997
14.06.2014, 10:51 #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от emmure Посмотреть сообщение
Спасибо, но я так и не понял насчёт 3 пункта. Что должно выводится если мы ищем по ключу?
контейнер хранит пару pair<class T, class T2>, соответственно по T происходит поиск, выводится будет то, что лежит в second т.е. T2
Цитата Сообщение от emmure Посмотреть сообщение
скажите хотя бы а то нигде ненашёл как хранить элементы в памяти в контейнере set/multiset как односвязный список или как что?
там какое-то внутреннее перераспределение памяти у него идёт, в зависимости от добавленных элементов связи вроде меняются, как - читай мб в книгах по STL есть
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2014, 10:51
Привет! Вот еще темы с ответами:

Multiset - C++
Какой параметр надо задать контейнеру, чтобы он сортировал по убыванию? Или нужен какой-то алгоритм?

Std::multiset::find - C++
Каким образом функция сравнивает элементы, если я не перегрузил == У меня в классе два поля, она сравнивает их оба на соответствие? ...

Подскажите ошибку с multiset - C++
Задача: Суперминимум Дано n чисел. Для каждых k подряд идущих чисел найти минимальное среди них. Входные данные В первой...

Multiset: исправить ошибку в коде - C++
Доброго времени суток. Хотела забить в multiset элементы и вывести их в порядке убывания. Вот основная часть программы int main() { ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.06.2014, 10:51
Ответ Создать тему
Опции темы

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