所以我在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;
}
答案 0 :(得分:0)
这个区块:
if (crt = headPtr)
{
headPtr = temp;
}
您将crt设置为headPtr,而不是检查它是否等于headPtr,因此它总是落入条件并将headPtr设置为remp。应该是这样的:
if (crt == headPtr)
{
headPtr = temp;
}