给定链表中间节点指针,删除中间节点的方法

 更新时间:2013年11月14日 10:17:56   作者:  
本文实现算法来删除单链表中的中间节点,只知道指向该节点中间节点的指针,大家可以参考使用
问题如下
输入:链表 a->b->c->d->e中指向节点c的指针
输出:无返回值,但新链表变为a->b->d->e
解答:
想了好久没想出来,看了提示才知道解法的。这里用到了一个小技巧。要删除中间节点,但是我们不知道要删除节点的上一个节点p,所以无法通过修改指针的方法(p->next=del->next)来删除节点,但知道要删除节点的后一个节点,那么我们换一个思路,把要删除的节点的数据与该节点的后一个节点的数据交换,然后删除后一个节点,从而达到目的。但是该方法不能删除最后一个节点,原因显而易见。
复制代码 代码如下:

// a tricky solution,can't delete the last one element
int delete_node(NODE* node) {
  int data;
  NODE *p=node->next;
   node->data=p->data;
   node->next=p->next;
  free(p);
}

相关文章

  • 使用Shell脚本批量执行SQL脚本

    使用Shell脚本批量执行SQL脚本

    这篇文章主要为大家介绍了批量执行SQL脚本的Shell脚本的相关知识以及注意事项,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下
    2025-01-01
  • Shell脚本自动删除指定大小以上的备份文件

    Shell脚本自动删除指定大小以上的备份文件

    这篇文章主要介绍了Shell脚本自动删除指定大小以上的备份文件,使用本文脚本加入cron后,即可自动腾出空间,需要的朋友可以参考下
    2014-12-12
  • 如何写出安全的、基本功能完善的Bash脚本

    如何写出安全的、基本功能完善的Bash脚本

    这篇文章主要介绍了如何写出安全的、基本功能完善的Bash脚本,帮助大家更好的理解和使用bash shell,感兴趣的朋友可以了解下
    2020-12-12
  • Shell脚本数组操作小结

    Shell脚本数组操作小结

    这篇文章主要介绍了Shell脚本数组操作小结,包含数组定义、读取、替换、删除、复制、计算等,需要的朋友可以参考下
    2014-07-07
  • Shell中实现字符串反转方法分享

    Shell中实现字符串反转方法分享

    这篇文章主要介绍了Shell中实现字符串反转方法分享,本文同时提供了多种语言的实现方法,如awk、python、bash、C语言等,需要的朋友可以参考下
    2014-12-12
  • Linux shell知识点汇总

    Linux shell知识点汇总

    从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。
    2015-08-08
  • 自己常用的一些shell脚本分享

    自己常用的一些shell脚本分享

    这篇文章主要介绍了自己常用的一些shell脚本分享,包含20多个脚本实例,需要的朋友可以参考下
    2014-08-08
  • 十三个写好shell脚本的技巧分享

    十三个写好shell脚本的技巧分享

    这篇文章主要给大家介绍了关于写好shell脚本的13个技巧的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • Shell常见用法小记

    Shell常见用法小记

    本文简要介绍了下shell入门的一些用法,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • linux下使用shell脚本输出带颜色字体

    linux下使用shell脚本输出带颜色字体

    这篇文章主要介绍了linux下使用shell脚本输出带颜色字体,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-06-06

最新评论