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

вопрос по реализации ассоциативного контейнера - C++

Восстановить пароль Регистрация
 
komarov
0 / 0 / 0
Регистрация: 12.12.2011
Сообщений: 6
12.12.2011, 14:12     вопрос по реализации ассоциативного контейнера #1
здравствуйте. есть задание по курсовой: Реализовать класс ассоциативного контейнера, хранящий пары элементов «ключ-значение». Ключи хранить в сбалансированном двоичном дереве поиска. Предусмотреть в нем функции добавления и удаления пар элементов, а также операции поиска по ключу.

вопрос следующий: мне не совсем понятно как должно быть реализовано обращение к элементам контейнера.

как это представляю я: класс map, в нем есть, например, функция добавления элемента
add(char key, int value).
как должны быть связаны ключ и значение, через отдельный массив? то есть мы получаем ключ, добавляем его в дерево, а значение мы куда добавляем? и как их связать?

заранее извиняюсь за глупый вопрос
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
12.12.2011, 14:16     вопрос по реализации ассоциативного контейнера #2
komarov, просто делает структуру, содержащую след поля: значение, ключ, указатель на след. (право и лево в случае бинарного дерева).
вот и связаны ключ и значение
при обращении ищешь по ключу - идешь по дереву, пока не найдешь вершину с таким ключом. А в ней и значение лежит)
komarov
0 / 0 / 0
Регистрация: 12.12.2011
Сообщений: 6
12.12.2011, 14:22  [ТС]     вопрос по реализации ассоциативного контейнера #3
спасибо) и еще вопрос - как реализовать такую структуру, чтобы можно было обращаться к значению, как в обычном массиве, напр.: mass['one']=1 . вопрос именно про индекс.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
12.12.2011, 14:23     вопрос по реализации ассоциативного контейнера #4
так просто перегрузить оператор []
C++
1
2
const value_type& operator[](const key_type&) const;
value_type& operator[](const key_type&);
Yandex
Объявления
12.12.2011, 14:23     вопрос по реализации ассоциативного контейнера
Ответ Создать тему
Опции темы

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