![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Все бы выбрали вектор, однако в условии сказано "кроме вектора"...
|
![]() |
![]() |
![]() |
#12 |
Подтвердите свой е-майл
Регистрация: 12.11.2014
Сообщений: 470
|
![]()
Нужен ли будет произвольный доступ? Если да, то список дико проигрывает по скорости и чем он больше, тем больше проигрывает. Надо ли поддерживать вставку в элемента произвольное место контейнера и при этом в любом случае требуется перебрать предшествующие существующие элементы? Если да, то список выигрывает, а проигрывает массив. Если нужны обе операции, то выигрывает дерево, но там свои сложности с балансировкой, если их не учесть, то можно получить корягу, которая выродится в список.
|
![]() |
![]() |
![]() |
#13 | ||
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() Цитата:
ваша база данных будет работать со скоростью черепахи. и это - в лучшем случае. Цитата:
в задаче указанно, что именно должно "очень хотеться". для решения данной задачи std::set не нужен. Последний раз редактировалось Stilet; 17.09.2015 в 18:03. |
||
![]() |
![]() |
![]() |
#14 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Задачу можно решить используя std::set ровно так же, как используя std::list или std::map или std::vector
|
![]() |
![]() |
![]() |
#15 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() Цитата:
конечно, можно забивать гвозди микроскопом, или и вовсе отказаться от инструментов и делать это голыми руками. а можно использовать инструмент по назначению. подобрав подходящий под конкретную задачу. используя второй подход, вы решите задачу эффективно. используя первый подход, вы потратите больше времени, породив говнокод. для данной задачи вам придется делать выборки данных по ключам. а это означает std::map/std::unordered_map. кроме того, некоторые ключи могут совпадать, а это значит std::multimap. а вот всякие там std::set/std::list/std::vector, и прочая - для этих целей не пригодны. |
|
![]() |
![]() |
![]() |
#16 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Как я уже говорил - в map/multimap - только индексы, иначе данные будут дублироваться.
|
![]() |
![]() |
![]() |
#17 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Контейнера | Sylar9 | Общие вопросы C/C++ | 2 | 15.05.2012 15:43 |
копирование из контейнера STL в мой класс SET | Studentka_:) | Помощь студентам | 1 | 12.04.2011 03:11 |
STL в QT конфликтует с STL в Borland | nvrrus | C++ Builder | 0 | 31.03.2011 10:51 |
Файловый ввод/вывод STL контейнера указателей | farynaa | Помощь студентам | 0 | 21.05.2010 22:29 |
Сортировка контейнера | m9yt | Общие вопросы C/C++ | 0 | 30.04.2010 23:55 |