gpt4 book ai didi

c++ - 检查链接列表中的重复项

转载 作者:行者123 更新时间:2023-11-28 03:05:35 29 4
gpt4 key购买 nike

bool isduplicate

if(p==nullptr) {
p->next=q;
q->value=x;
}

while (p!=nullptr) {
p=p->next;
}
//arrived at NULL ptr
p->next=q;
q->value=x;
q->next=nullptr;

return q;
}

最佳答案

逻辑错了。 current 在 while 循环开始时不等于 runner,while 循环内的任何内容都不会使它们彼此相等。最终您将取消引用一个空指针。

正确的逻辑比你拥有的要简单。试试这个

current = p;
while (current != nullptr)
{
runner = current->next;
while (runner != nullptr)
{
if (runner->value == current->value)
return true;
runner = runner->next;
}
current = current->next;
}
return false;

关于c++ - 检查链接列表中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19829929/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com