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