gpt4 book ai didi

c++ - 链表的链表

转载 作者:太空宇宙 更新时间:2023-11-04 14:14:23 25 4
gpt4 key购买 nike

我正在尝试创建一个将包含其他 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 链表之间建立链接的正确方法吗?

最佳答案

对于标准容器,您无法指向元素,因为主要设计是元素仅由容器管理。

你所做的是一个容器的容器,即在你的例子中是一个 dlist< dlist<int> > .

在其他更复杂的情况下,您对标准库不走运......例如,如果您希望同时包含在两个独立链表中的元素,则没有标准容器的解决方案,您必须自己编写数据结构代码,否则您必须接受为某些操作支付额外费用。

关于c++ - 链表的链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12489019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com