Russian Qt Forum
Ноябрь 01, 2024, 05:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Выбор модели работы с данными  (Прочитано 2444 раз)
leonopulos
Гость
« : Февраль 06, 2015, 16:29 »

Здравствуйте.
Помогите с выбором структуры данных.
Имеются 2 списка: 1, 2, 3, 4... и a,b,c,d...
Элементы из одного списка могут ссылаться на элементы другого списка, как показано на рисунках.
Количество элементов в списках могут меняться.
Их можно как добавлять, так и удалять.
Если элемент удаляется, то должны удаляться все связи, идущие к нему.
Как лучше обрабатывать эти данные? то ли как граф, то ли как какие-то взаимоувязанные списки?
Не получается готовый контейнерный класс подобрать.
Записан
torwig
Самовар
**
Offline Offline

Сообщений: 134



Просмотр профиля
« Ответ #1 : Февраль 06, 2015, 19:45 »

Например, элемент списка может быть структурой, которая содержит значение (1, 2, 3 или а, б, в) и список, множество указателей на элементы другого списка.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Февраль 07, 2015, 09:41 »

Вообще-то настоящий кайф начинается когда в undo надо восстановить разорванные связки  Улыбающийся

Здесь есть смысл работать по "ID" - уникальный ключ объекта. Хранится мапа, напр <ID, QPointer <QObject> >. Объект знает на какие ID он ссылается и какие на него. При удалении объекта эл-ты из мапы не удаляются. Объект может получить указатель по ID, но не должен этот указатель постоянно хранить.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.056 секунд. Запросов: 23.