链接列表问题C ++

时间:2014-10-03 00:56:40

标签: c++ pointers linked-list

所以我在C ++中遇到了一些关于链表的问题。当我尝试制作新的清单时,
最近的节点是列表中唯一的节点。我认为这是一个问题 在插入节点之后指向节点的指针,但我不确定我是否是C ++的新用户
和链接列表。欢迎任何帮助!

    // Nodes struct is declared, "int value" is data stored;
    void Class::addNode(int val)
    {
        nodeptr temp;
        temp = new node;
        temp->value = val;
        temp->next = nullptr;
        nodeptr crt, prv;
        for (prv = nullptr, crt = headPtr; /* pointer to first node */ 
        crt != nullptr && temp->value < crt->value; prv->next = crt, crt = crt->next)
        {
            // nothing because it's just to get crt and prv in position
        }
        if (crt = headPtr)
        {
            headPtr = temp;
        }
        else
        {
            prv->next = temp;
        }
        temp->next = crt;
    }

1 个答案:

答案 0 :(得分:0)

这个区块:

if (crt = headPtr)
    {
        headPtr = temp;
    }

您将crt设置为headPtr,而不是检查它是否等于headPtr,因此它总是落入条件并将headPtr设置为remp。应该是这样的:

if (crt == headPtr)
    {
        headPtr = temp;
    }