链表删除

链表删除

在本文中,我们将学习如何从链表中删除节点。 链表删除算法 令 head 为指向链表第一个节点的指针,令 temp 为要从链表中删除的节点的值。 迭代算法 初始化指针 curr 指向 head 以遍历链接列表,而将 prev 设置为 NULL 以在删除时跟踪 temp 之前的节点。 如果要删除的节点是 head 即 temp!=NULL && curr->data==temp,则将 head 设置为 curr->next 并删除 curr。 否则,请执行以下操作,直到我们到达要删除的节点为止。 prev=temp。 temp=temp->next。 如果 temp==NULL,返回; 将 prev->next 设置为 temp->next,并删除 temp 节点。 递归算法 如果 head==NULL,则链表为空,没有要删除的元素。因此,返回; 如果 head->data==temp,即我们找到了要删除的节点 将 head 存储在临时节点 t 中。 将 head 设置为 head->next 以删除该节点。 删除 t 并返回到较早的递归调用。 如果以上条件均不满足,则递归调用 head->next 上的 deleteNode() 以继续寻找节点。 链接列表删除图解 假设我们具有以下链接列表 1 -> 2 -> 3 -> 4,并且我们想删除值为 3 的节点。

2022年12月26日 Data Structure Linked List

最热门文章

最新文章