C++ 链表的链表
我正在尝试创建一个链表,它将保存其他int链表,我需要能够从主链表访问int链表 我的问题是如何将主链表的节点指向int链表的头部 我创建了一个静态列表:dlist _plist; 我有一个函数:insertToHead T const&dataToInsert; 但是在使用链表的类中,我只有指向头部的指针,比如:Node*。当我试图将Node*传递给T常量时,它给出了一个错误 这是使用链表的类的构造函数:C++ 链表的链表,c++,doubly-linked-list,C++,Doubly Linked List,我正在尝试创建一个链表,它将保存其他int链表,我需要能够从主链表访问int链表 我的问题是如何将主链表的节点指向int链表的头部 我创建了一个静态列表:dlist _plist; 我有一个函数:insertToHead T const&dataToInsert; 但是在使用链表的类中,我只有指向头部的指针,比如:Node*。当我试图将Node*传递给T常量时,它给出了一个错误 这是使用链表的类的构造函数: Set::Set(int numArray[], int size) { dl
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链表之间进行链接的正确方法吗?对于标准容器,您不能指向元素,因为主要设计是元素仅由容器管理 您所做的是一个容器的容器,即在您的情况下是一个dlist
但是,在其他更复杂的情况下,您使用标准库时运气不佳。。。例如,如果您希望同时将元素包含在两个独立的链表中,则没有标准容器的解决方案,您必须自己对数据结构进行编码,或者您必须接受为某些操作支付额外费用。我不知道您是否将此作为练习,但是std::list