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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Damaks
18 / 10 / 1
Регистрация: 02.09.2010
Сообщений: 235
#1

Ассоциативный массив "ключ - список" - C++

20.02.2011, 22:04. Просмотров 1603. Ответов 1
Метки нет (Все метки)

С помощью stl нужно создать ассоциативный массив "ключ" = "список"
Ассоциативный массив - это unordered_map само собой
Нужно чтобы ключу соответствовал список, это vector, т.к. скорость работы очень критична, и искаться по нему значения будут гораздо чаще, чем добавляться (порядка 5 тысяч в секунду)
Контейнер map я могу сделать, и работать с ним.
Подскажите как можно и как лучше реализовать схему "ключ" = "список"?
Спасибо.

Добавлено через 28 минут
Я нашел статью _http://lib.rus.ec/b/191841/read где написано о нескольких методах реализации, но не понятно какой выбрать...
Соотношение вставок значений/поиск получается где-то 1/3
Я правильно понимаю что в отсортированый вектор или map операция вставки по нагрузке на порядок больше чем операция поиска?
С другой стороны если использовать несортированный - то поиск будет идти дольше..., хотя вроде ненадолго
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2011, 22:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ассоциативный массив "ключ - список" (C++):

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно". Я так...

Двусвязный список с объектом трех типов: "целое число", "вещественное число", "строка" - C++
Есть проблема. Реализовать двухсвязный список. Каждый элемент списка может содержать один объект. Объект может быть трех типов: "целое...

Создать список из целых чисел. После каждого элемента, равного "х" вставить элемент, равный "у" - C++
Задача со стеком. Создать список из целых чисел. После каждого элемента,равного х вставить элемент,равный у. какое условие нужно поменять...

Иерархия классов "список"-"очередь", вызов метода через класс интерфейс - C++
Есть небольшая иерархия классов, контейнер (список) для хранения объектов каждого класса, контейнер (очередь) с указателями на объект...

Класс "Студент", реализовать динамический список "Группа студентов" - C++
реализовать динамический список " группа студентов". Узел: -группа -фамилия Функции списка: -добавление по алфавиту ...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

1
Union
17 / 17 / 2
Регистрация: 16.08.2010
Сообщений: 252
21.02.2011, 00:16 #2
Не вижу контейнера, подходящего для данной задачи. Единственное что похоже - multimap. multimap - то же, что и map, но допускающий повторяющиеся ключи, а не значений; Т.е. с ним не получится...
Возможно можно сделать как-то так:
std::unordered_map<std::string, std::vector<std::string>> massiv1;
если найдете решение, напишите, самому интересно
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2011, 00:16
Привет! Вот еще темы с ответами:

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

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

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс &quot;вентилятор&quot; содержащий в себе классы:...

Ошибка при компиляции:"C2955 "Tree": для использования класс шаблон требуется список аргументов шаблон" - C++
Есть класс бинарного дерева, в нем структура. Класс - Tree, структура - list(листик, а не список). При компиляции выдает...


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

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

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