Data structures 在不知道链接列表头的情况下删除链接列表中的节点

Data structures 在不知道链接列表头的情况下删除链接列表中的节点,data-structures,Data Structures,可能重复: 删除节点的签名为void delete(struct node*nodeToBeDeleted); 未提供链接列表的标题。是否有任何方法可以删除节点删除节点?将下一个节点的数据复制到当前节点 现在,包含当前节点数据的下一个节点成为要删除的节点 将当前节点的下一个设置为下一个节点的下一个 代码片段 void delete(struct node *nodeToBeDeleted) { struct node *nextNode; if(nodeToBeDeleted

可能重复:

删除节点的签名为void delete(struct node*nodeToBeDeleted);
未提供链接列表的标题。是否有任何方法可以删除节点删除节点?

将下一个节点的数据复制到当前节点

现在,包含当前节点数据的下一个节点成为要删除的节点

将当前节点的下一个设置为下一个节点的下一个

代码片段

void delete(struct node *nodeToBeDeleted)
{
    struct node *nextNode;
    if(nodeToBeDeleted == NULL)
    {
        return;
    }

    nextNode = nodeToBeDeleted ->next;

    nodeToBeDeleted ->data = nextNode->data;   

    nodeToBeDeleted->next = nextNode->next;

    delete nextNode;

    return;
}

将下一个节点的数据复制到当前节点

现在,包含当前节点数据的下一个节点成为要删除的节点

将当前节点的下一个设置为下一个节点的下一个

代码片段

void delete(struct node *nodeToBeDeleted)
{
    struct node *nextNode;
    if(nodeToBeDeleted == NULL)
    {
        return;
    }

    nextNode = nodeToBeDeleted ->next;

    nodeToBeDeleted ->data = nextNode->data;   

    nodeToBeDeleted->next = nextNode->next;

    delete nextNode;

    return;
}

这里有几个非常相似的问题:这里有几个非常相似的问题: