脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - shell - 给定链表中间节点指针,删除中间节点的方法

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

2022-12-22 14:22脚本之家 shell

本文实现算法来删除单链表中的中间节点,只知道指向该节点中间节点的指针,大家可以参考使用

问题如下
输入:链表 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字母大小写转换的shell脚本代码

    字母大小写转换的shell脚本代码

    本文介绍下,用于大小写字母转换的一例shell脚本,学习tr、awk、sed等命令的用法。有需要的朋友参考下...

    shell教程网5112022-12-21
  • shell一个可交互的并发ping检测shell脚本

    一个可交互的并发ping检测shell脚本

    可交互的并发ping检测shell脚本,供大家学习参考。重点& 跟wait,这样“并发”的结果是输出结果不是能按顺序,后台返回。如果需要再排序下...

    脚本之家7782022-12-09
  • shell用shell+sendmail实现服务器监控报警小脚本

    用shell+sendmail实现服务器监控报警小脚本

    用shell+sendmail写的服务器监控报警小脚本,有需要的朋友可以参考下...

    shell教程网6352022-12-19
  • shellShell逐行读取文件的4种方法

    Shell逐行读取文件的4种方法

    这篇文章主要介绍了Shell逐行读取文件的4种方法,本文介绍了while循环法、重定向法、管道法、文件描述符法等一些方法,需要的朋友可以参考下...

    shell教程网6472022-12-04
  • shelllinux基础之Shell Script入门介绍

    linux基础之Shell Script入门介绍

    本文介绍下,学习shell script编程的入门知识,通过几个入门实例,带领大家走进shell script的神圣殿堂,呵呵,有需要的朋友参考下...

    shell教程网11202022-12-22
  • shellshell编程基础知识小结

    shell编程基础知识小结

    这篇文章主要介绍了shell编程基础知识,包括文件类型、正则表达式、字符类、引号类型、变量设置、条件测试、命令执行顺序、脚本调试方面的介绍...

    shell教程网7212022-12-14
  • shellshell是什么?shell的用途是啥?

    shell是什么?shell的用途是啥?

    只知道写shell脚本,却不知道什么是shell?那shell是什么呢?它有什么作用呢?下面就一起来看看吧!...

    脚本之家10692022-12-05
  • shell获取两个日期间隔时间的shell脚本代码

    获取两个日期间隔时间的shell脚本代码

    获取两个日期间隔时间的shell脚本,对于正在研究shell操作日期的朋友来讲,这个小例子,值得研究...

    shell教程网5462022-12-16