0
我想写一个函数来将节点添加到链接列表的任何位置。在C++中修改链接列表
这是我到目前为止有:
ListNode* addNode(ListNode* pHead, ListNode* pNode, int pos)
{
if(pHead == NULL)
{
pHead = pNode;
}
else if(pos == 0)
{
pNode->pNextNode = pHead;
pHead = pNode;
}
else
{
ListNode* pTempNode = pHead;
for(int i = 0; i < pos; i ++)
{
if(pTempNode->pNextNode != NULL)
{
pTempNode = pTempNode->pNextNode;
}
else
{
break;
}
}
pNode->pNextNode = pTempNode->pNextNode;
pTempNode->pNextNode = pNode;
pHead->pNextNode = pTempNode;
}
return pHead;
}
的问题是,尝试添加,是不是在前面的几个节点在中间切出一个节点时。我只是不知道如何正确搜索位置列表,插入新节点,然后返回整个列表。
非常感谢! – Wrew 2012-03-18 04:38:30