单链表的存储结构:

typedef struct LinkList{int data;LinkList * next;}

分析:
首先,我们要删除第一个值为x结点的前驱结点,则该链表要包含两个及以上结点才行。 在前面通常都是删除该节点,而这次是删除该节点的前驱结点。

所以不能向以往一样定义两个指针。而应该定义三个指针
prepre , pre ,p;

思路:
1.定义三个指针prepre = L,pre = prepre->next; p = pre->next;
2.通过while循环,条件为p!=null;
如果p->data != x, 那么三个指针同步后移
3.当循环跳出,如果p != null.则将pre结点删除:prepre ->next = p; free(pre);
4.否则,返回0

C代码实现:

int delx1(LinkList * L,int x){LinkList * prepre = L,pre = prepre->next,p = pre->next;while(p!= null){if(p->data != x){prepre = pre;  //同步后移pre = p;p = p->next;}}if(p != null){prepre->next = p;//删除pre结点(p的前驱)free(pre);return 1;  //删除成功返回1}else return 0; //未找到值为x的结点,返回0}

单链表-删除单链表L中第一个值为x的结点的前驱结点(三指针法)相关推荐

  1. 单链表-删除单链表L中第一个值为x的结点(双指针法)

    单链表的存储结构: typedef struct LinkList{int data;LinkList * next;} 分析: 如果我们用一个指针p ,指向要删除的结点, 要删除第一个还好,可以删, ...

  2. 初夏小谈:反转单链表(头插法、三指针法)

    神奇的链子又来了.昨天对链表进行了基本的增/删/查/改操作,今天来一些链表更进阶的一些执行方法之反转链表. 第一种方法:熟悉的头插法 定义一个新的头指针 ---> 直接把结点依次摘下来 ---& ...

  3. 反转单链表(三种方法)(三指针法)(头插法)(递归)经典面试题

    剑指 Offer 24. 反转链表 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例: 输入: 1->2->3->4->5->NULL 输出 ...

  4. 链表反转的四种方法(栈、头插法、三指针法、递归法)

    单链表反转或转置的四种方法 链表的反转实质上是反转链表上的内容: 若链表存储的数据是:1->2->3->4->5; 那么反转后则是:5->4->3->2-&g ...

  5. python 链表倒数第k个节点_链表-删除单链表中倒数第k个节点

    题目 实现一个函数,一个可以删除单链表中倒数第k个节点 难度 简单 分析 本题比较简单,实现方法多种多样,这里提供一种方法 首先明确一点,在单链表中删除倒数第k个节点,需要找到他的前一个节点,让前一个 ...

  6. 单链表-删除单链表L中奇数号节点(双指针法)

    题意: 有一个带头节点的单链表L,设计一个算法,删除其中第1,3,5,7号-节点,即删除奇数号的节点. 单链表的存储结构: typedef struct LinkList{int data;LinkL ...

  7. matlab 查找字符串中第一个不为空格的_替换空格(剑指offer第三题)

    替换空格 题目:请实现一个函数,把字符串 s 中的每个空格替换成"%20". 示例 1: 输入:s = "We are happy." 输出:"We% ...

  8. list中删除另一个list中相同属性值

    1. list中添加元素 原生方法,需要多行List<Teacher> teacherList = new ArrayList();teacherList .add(teacher1);t ...

  9. Python Tricks(六)—— 删除一个可迭代序列中等于某值的全部元素

    虽然简单,其实考察的内容很多: str 也是可迭代类型,str 有一套自己的成员函数: tuple 也是可迭代类型,但其自身不可改变: def removeall(item, seq):if isin ...

最新文章

  1. 分布式锁的三种实现方式_基于 redis 的分布式锁实现
  2. 【2020】清华大学《高级机器学习》课件和专家特邀报告(附pdf下载)
  3. 天玑机器人颈椎_烟台一女子车祸致颈椎重度骨折 骨科机器人助力救治
  4. jetson nano 人脸
  5. UI+Class Object
  6. hdu1443 Joseph(约瑟夫环)
  7. 第21章:MongoDB-聚合操作--聚合管道--$geoNear
  8. computed vs methods
  9. 鸟哥私房菜(基础篇第三版)笔记
  10. python批量生成图片_利用Python批量生成任意尺寸的图片
  11. Java集合——HashMap、HashTable以及ConCurrentHashMap异同比较
  12. 更改yum源配置后执行报错[Errno 14] PYCURL ERROR 22 - “The requested URL returned error: 404 Not Found”
  13. 怡丰机器人上市_【利元亨 | 复盘】十家自动停车机器人大PK,你更看好谁?
  14. 生产质量分析,助力企业掌握影响质量的全量数据
  15. python视频格式转换命令_音视频格式转换
  16. Android VideoView播放视频详细步骤
  17. 一个简单的登录注册网页的实现
  18. typedef——用法总结
  19. dji Tello edu 开发
  20. mxnet的rec数据中还原图片

热门文章

  1. 关于大XML文件与大节点处理(System.Xml.XmlTextReader)
  2. Spring 的@Scheduled注解实现定时任务运行和调度
  3. 【LeetCode OJ】Same Tree
  4. 案例:用JS实现放大镜特效
  5. 2007最优秀的CSS网站设计
  6. Android自动化测试之Shell脚本一——模拟触屏事件
  7. 深入探秘 Netty、Kafka 中的零拷贝技术!
  8. 【高并发】你敢信??HashMap竟然干掉了CPU!!
  9. 嘿嘿,我就知道面试官接下来要问我 ConcurrentHashMap 底层原理了,看我怎么秀他...
  10. 漫画谈一下Maven依赖,百分之90的同学不知道!