单链表删除指定节点c语言,在单链表删除指定节点之后的节点

要删除在指定节点之后存在的节点,需要跳过所需数量的节点以到达节点,之后的节点将被删除。 需要跟踪这两个节点。如果在该节点之前存在的节点,则将删除该节点。 为此,使用了两个指针:ptr和ptr1。

使用以下语句来执行此操作。

ptr = head; for (i = 0;i < loc;i++) { ptr1 = ptr; ptr = ptr->next; if (ptr == NULL) { printf("There are less than %d elements in the list..", loc); return; } }

现在,任务差不多完成了,只需要做一些指针调整。 使ptr1(指向指定节点)的下一个指向ptr的下一个(要删除的节点)。

这将通过使用以下语句来完成。

ptr1 ->next = ptr ->next; free(ptr);

算法

第1步:如果HEAD = NULL 打印提示内存溢出 转到第10步 结束时间 第2步:设置TEMP = HEAD 第3步:设置I = 0 第4步:重复第5步到第8步直到 I 第5步:TEMP1 = TEMP 第6步:TEMP = TEMP→NEXT 第7步:如果TEMP = NULL 提示“不存在节点” 转到第12步 结束条件 第8步:I = I + 1 循环结束 第9步:TEMP1→NEXT = TEMP→NEXT 第10步:释放 TEMP 第11步:退出

示意图 –

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值