Связанный список связанных списков

Я пытаюсь создать связанный список, который будет содержать другие связанные списки int, мне нужно иметь возможность доступа к связанному списку int из основного связанного списка.

Мой вопрос заключается в том, как мне указать узлы основного связанного списка, чтобы он удерживал заголовок связанного списка int?

Я создал статический список: dlist<Node<int>& > _plist;
У меня есть функция: insertToHead ( T const& dataToInsert);
Но из класса, который использует связанный список, у меня есть только указатель на голову, что-то вроде:Node<T>*, и это дает мне ошибку, когда я пытаюсь передать Node<T>* к T const&,

это конструктор класса, который использует связанный список:

Set::Set(int numArray[], int size)
{

dlist<Node<int> > _plist; //static main list
dlist<int> _intList ; //int list
dlist<int> list;     //int list

int i;

for (i=0; i < size; i++)
{
list.insertInOrder(numArray[i]); //insert in to int list
}

this->_intList = list;

this->_plist.insertToHead(  _intList.getHead()); //gives an error

};

Это правильный способ сделать эту связь между основным списком и связанными списками int?

1

Решение

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

То, что вы делаете, является контейнером контейнеров, т.е. в вашем случае dlist< dlist<int> >,

В других более сложных случаях вам, однако, не повезло со стандартной библиотекой … например, если вы хотите, чтобы элементы, которые одновременно содержались в двух независимых связанных списках, не имеют решения со стандартными контейнерами, и вам нужно кодировать структура данных самостоятельно, или вы должны согласиться оплатить дополнительные расходы на некоторые операции.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]