【发布时间】:2012-09-12 10:18:40
【问题描述】:
我已尝试寻找答案,但似乎找不到任何与我相符的内容。我正在为学校做一个模板链接列表,我得到了一个错误的世界。但我现在只想要一个帮助。我应该将一个元素附加到链表的末尾,但我们得到:
append(ListNode)
起初,我想:“好吧,创建一个新节点,然后在后面插入......”但我读了一遍,我必须创建另一个函数,将两个链表连接在一起。所以我想我必须在链接列表中附加一个已经制作的元素。这样,当我进行连接时,我可以使用我的附加来附加两者。或者至少……这只是我的想法……
所以一开始,我是这样做的:
template<typename NODETYPE>
bool List<NODETYPE>::append(NODETYPE &value)
{
ListNode<NODETYPE> *newPtr = getNewNode(value); //creates new node
if(isEmpty()) //checks if list is empty
{
firstPtr = lastPtr = newPtr;
return true;
}
else //inserts new node at end of list
{
ListNode<NODETYPE> *tempPtr = lastPtr;
tempPtr->nextPtr=newPtr;
lastPtr = newPtr;
return true;
}
}
但由于这仅附加一个新节点,因此我无法使用它。有没有办法附加已经制作的节点?例如:将另一个链表附加到前一个链表?
我的 concat(与我搜索过的其他人不同)只使用一个链表。前面的链表对象调用函数,然后附加一个链表
concat(&List)
所以我很困惑。感谢您的帮助,谢谢!
【问题讨论】:
标签: c++ list linked-list append element