Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
koka3000
11 / 11 / 3
Регистрация: 02.02.2011
Сообщений: 211
#1

Использование двух контейнеров из STL - C++

17.03.2012, 12:23. Просмотров 707. Ответов 2
Метки нет (Все метки)

Нужно, чтобы:
1) Каждый объект имел свой уникальный ключ.
2) Быстрая выборка по ключу.
3) Быстрое прохождение по всем объектам.

Для первых двух, как я понимаю, подходит map, а для последнего пункта vector;
Возможно, создать два контейнера vector и map и в них хранить указатели на объекты, map использовать для выборки по ключу, а vector по переходу по всем объектам?

Подскажите, как лучше сделать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2012, 12:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Использование двух контейнеров из STL (C++):

Не могу освоить использование контейнеров STL (решить задачу) - C++
Последняя (надеюсь) лаба по СТЛ... Котегорически в них ничего не понимаю Буду очень блогодарен за решение этой задачки с как можно...

Синхронизация контейнеров (STL) - C++
Добрый день, задание следующее: 1) написать функцию которая принимает в качестве аргумента ссылку или указатель на вектор, заполняет...

Расширение stl контейнеров - C++
Собственно сабж. Из идей: 1. class MyC { public: .... //reimplement stl func

Производительность контейнеров stl для игры - C++
Есть игрушка, в которой просчитывается коллайд. В конце концов будет юзаться какая-нибудь система, типа разделения локаций на квадранты, но...

Реализовать (без использования контейнеров STL) Б-дерево со вставкой и удалением элементов - C++
Здравствуйте! Очень нужна реализация Б-дерева на С или С++ со вставкой и удалением элементов, но без использования контейнеров из STL....

Типы контейнеров STL, в которых можно хранить несколько экземпляров одного и того же значения - C++
Доброго времени суток. Выберите типы контейнеров STL, в которых можно хранить несколько экземпляров одного и того же значения...

2
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
17.03.2012, 16:11 #2
Если настолько важна скорость, что итераторы map'а оказываются недостаточно быстрыми, и при этом если не важно, в каком порядке перебирать объекты (map хранит объекты в отсортированном виде, а не в порядке добавления, если же использовать дополнительный вектор указателей на объекты, то он будет хранить их в порядке добавления в map), то можно использовать и вектор указателей.
0
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
17.03.2012, 17:50 #3
Цитата Сообщение от silent_1991 Посмотреть сообщение
Если настолько важна скорость, что итераторы map'а оказываются недостаточно быстрыми, и при этом если не важно, в каком порядке перебирать объекты (map хранит объекты в отсортированном виде, а не в порядке добавления, если же использовать дополнительный вектор указателей на объекты, то он будет хранить их в порядке добавления в map), то можно использовать и вектор указателей.
__
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2012, 17:50
Привет! Вот еще темы с ответами:

Объединение двух контейнеров - C++
функция программы, которая производит логическое объединение двух контейнеров. дело в том, что переменная check инициализируется абы как -...

Не осуществляется объединение двух контейнеров - C++
set<string> matt, patt; set<string> matt_and_patt; Info_Processing(matt,"Matt"); // заполнение первого и второго множества ...

Взаимодействие двух контейнеров объектов - C++
Здравствуйте. Вопрос, наверное, уместнее задать на геймдеве, но всё же попробую здесь. Есть два контейнера объектов (монстры и пули),...

Напечатать все буквы, входящие в текст не менее двух раз с использованием контейнеров map и multimap - C++
Дан текст из строчных латинских букв, за которыми следует точка. Напечатать все буквы, входящие в текст не менее двух раз; все согласные...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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