删除节点并更改头部



好的,所以我正在研究一个删除与读入输入同名的节点的函数。如果匹配,则不得将该节点添加到新序列中。所以这就是我到目前为止得到的,我之前的指针在代码末尾为 null,我不知道为什么

void deleteRecord (ifstream &batchfile, node *&h)
{
ofstream logfile;
logfile.open("freeplay.log", ios::app);
node *ptr = h;
node *previous = nullptr;
string term;
batchfile.seekg(1L, ios::cur);
getline(batchfile, term);
while (ptr)
{
    if (!strstr(ptr -> name.c_str(), term.c_str()))
    {
        previous = ptr;
    }
    previous = previous -> next;
    ptr = ptr -> next;
}

}

while (ptr)
{
    if (!strstr(ptr -> name.c_str(), term.c_str()))
    {
        if(previous = nullptr){
            previous = ptr;
            head_previous = previous;
        } else {
            previous->next = ptr;
            previous = previous -> next;
            previous->next = null;
        }
    }
    ptr = ptr -> next;
}

在这里,我分配了previous to ptr每当执行if时。第一次,previous is same as ptr.从下一个开始,我正在链接previous -> next to ptr. 现在循环后,您可以打印头部为 previous_head 的存储节点的整个列表;

相关内容

  • 没有找到相关文章

最新更新