У меня есть круговой связанный список связанного списка, и я только что понял, как его объявить, но я хочу знать, как пройти через него и напечатать направление или значение первого списка, я не уверен, что смог бы печатать вообще, так как я только экспериментирую
List<int> list1,list2,list3;
List<List<int>>*ListOfLists = new List<List<int>>();
ListOfLists->insert(list1);
ListOfLists->insert(list2);
ListOfLists->insert(list3);
Вот мой код Кругового связанного списка с его функцией вставки
template <class T>
class Node{
public:
T value;
Node<T> * next;
Node(){
next = NULL;
}
Node(const T &dato, Node<T>* ptrnext = NULL){
this->value = dato;
this->next = ptrnext;
}
~Node(){
}
};
template <typename T>
class List {
Node<T> *Head;
public:
List() {
Head = NULL;
}
void insert(T value) {
if (Head == 0) {
Head = new Node<T>(value);
Head->next = Head;
return;
}
Node<T> **next = &(Head->next);
while (*next != Head) {
next = &(*next)->next;
}
*next = new Node<T>(value, *next);
}
Основная проблема в том, что я не могу сделать это ListofLists->next->value
, и это то, что я хочу сделать, и мне сложно разобраться, я хочу хотя бы знать, что я могу сделать, чтобы ListofLists->next
заработал