搜索列表中的最后一个数据实例

时间:2014-05-19 18:52:20

标签: c++ list function access-violation

我有一个编写一个函数的赋值,该函数在列表中搜索最后一个数据实例(在本例中为整数)。该函数在if语句的行上断开访问冲突。

Node* List::SearchLast (int val)
{
    Node* pLast=NULL;
    Node* pNode=pHead;
    while (pHead!=NULL)
    {
        if (pNode->data==val)
            pLast=pNode;
        pNode=pNode->next;
    }
    return pLast;
}

我试着看看pNode会发生什么。Here它应该变为零。但是then只是传递了while语句。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您的while是无限循环,请更改为:

Node* List::SearchLast(int val)
{
    Node *pLast = NULL;
    Node *pNode = pHead;
    while (pNode != 0) {
        if (pNode->data == val) pLast = pNode;
        pNode = pNode->next;
    }
    return pLast;
}