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

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

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

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

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

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

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

Подскажите, как лучше сделать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2012, 12:23     Использование двух контейнеров из STL
Посмотрите здесь:

C++ использование stl
Использование алгоритмов STL C++
C++ Не могу освоить использование контейнеров STL (решить задачу)
C++ Объединение двух контейнеров
C++ Не осуществляется объединение двух контейнеров
Расширение stl контейнеров C++
C++ Синхронизация контейнеров (STL)
C++ Производительность контейнеров stl для игры
Взаимодействие двух контейнеров объектов C++
C++ Типы контейнеров STL, в которых можно хранить несколько экземпляров одного и того же значения
C++ Реализовать (без использования контейнеров STL) Б-дерево со вставкой и удалением элементов
C++ Напечатать все буквы, входящие в текст не менее двух раз с использованием контейнеров map и multimap

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4949 / 3025 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
17.03.2012, 16:11     Использование двух контейнеров из STL #2
Если настолько важна скорость, что итераторы map'а оказываются недостаточно быстрыми, и при этом если не важно, в каком порядке перебирать объекты (map хранит объекты в отсортированном виде, а не в порядке добавления, если же использовать дополнительный вектор указателей на объекты, то он будет хранить их в порядке добавления в map), то можно использовать и вектор указателей.
fasked
Эксперт C++
 Аватар для fasked
4929 / 2509 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
17.03.2012, 17:50     Использование двух контейнеров из STL #3
Цитата Сообщение от silent_1991 Посмотреть сообщение
Если настолько важна скорость, что итераторы map'а оказываются недостаточно быстрыми, и при этом если не важно, в каком порядке перебирать объекты (map хранит объекты в отсортированном виде, а не в порядке добавления, если же использовать дополнительный вектор указателей на объекты, то он будет хранить их в порядке добавления в map), то можно использовать и вектор указателей.
__
Yandex
Объявления
17.03.2012, 17:50     Использование двух контейнеров из STL
Ответ Создать тему
Опции темы

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