Я хочу реализовать свой собственный класс коллекции.Мне нужны следующие характеристики:
- Итерируемый - порядок не важен
- Вставка - в конце или в месте расположения итератора, это не имеет значения
- Случайное удаление -это хитрый.Я хочу иметь возможность ссылаться на фрагмент данных, который гарантированно находится в списке, и удалять его из списка за O (1) раз.
Я планирую, чтобы контейнер содержал только пользовательские классы, поэтому я думал о двусвязном списке, который требовал от компонентов реализации простого интерфейса (или абстрактного класса).
Вот где я застреваю.Мне интересно, было бы лучше, чтобы элементы в списке содержали ссылку на свой узел или встраивали узел прямо в них.Я чувствую, что оба были бы довольно просты, но я беспокоюсь о соединении этих узлов в кучу классов.
Мне интересно, есть ли у кого-нибудь идея о том, как минимизировать связь, или, возможно, знать о другомструктура данных, которая имеет характеристики, которые я хочу.