Да, вы можете создать такую структуру данных, но не используя стандартную библиотеку ... причина в том, что стандартные контейнеры могут быть вложенными, но не могут быть смешаны.
Нет проблем с реализацией, например, структуры данных карты, где все узлы также находятся в двусвязном списке в порядке вставки, или, например, карты, где все узлы находятся в массиве. Мне кажется, что одна из этих структур может быть тем, что вы ищете (в зависимости от того, какую операцию вы предпочитаете выполнять быстро), но ни одна из них не является тривиальной для построения с использованием стандартных контейнеров, потому что каждый стандартный контейнер (vector
, * 1004) *, set
, ...) хочет быть единственным и единственным способом доступа к содержащимся элементам.
Например, во многих случаях мне показалось полезным иметь узлы, которые были одновременно в нескольких двусвязных списках, но вы не можете сделать это, используя std::list
.