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

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

Восстановить пароль Регистрация
 
koka3000
11 / 11 / 3
Регистрация: 02.02.2011
Сообщений: 211
17.03.2012, 12:23     Использование двух контейнеров из STL #1
Нужно, чтобы:
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++ Объединение двух контейнеров
Использование стандартных компонентов stl C++
C++ Не осуществляется объединение двух контейнеров
Расширение stl контейнеров C++
C++ Синхронизация контейнеров (STL)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
17.03.2012, 16:11     Использование двух контейнеров из STL #2
Если настолько важна скорость, что итераторы map'а оказываются недостаточно быстрыми, и при этом если не важно, в каком порядке перебирать объекты (map хранит объекты в отсортированном виде, а не в порядке добавления, если же использовать дополнительный вектор указателей на объекты, то он будет хранить их в порядке добавления в map), то можно использовать и вектор указателей.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 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
Ответ Создать тему
Опции темы

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