单链表-删除单链表L中第一个值为x的结点的前驱结点(三指针法)
单链表的存储结构:
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的结点的前驱结点(三指针法)相关推荐
- 单链表-删除单链表L中第一个值为x的结点(双指针法)
单链表的存储结构: typedef struct LinkList{int data;LinkList * next;} 分析: 如果我们用一个指针p ,指向要删除的结点, 要删除第一个还好,可以删, ...
- 初夏小谈:反转单链表(头插法、三指针法)
神奇的链子又来了.昨天对链表进行了基本的增/删/查/改操作,今天来一些链表更进阶的一些执行方法之反转链表. 第一种方法:熟悉的头插法 定义一个新的头指针 ---> 直接把结点依次摘下来 ---& ...
- 反转单链表(三种方法)(三指针法)(头插法)(递归)经典面试题
剑指 Offer 24. 反转链表 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例: 输入: 1->2->3->4->5->NULL 输出 ...
- 链表反转的四种方法(栈、头插法、三指针法、递归法)
单链表反转或转置的四种方法 链表的反转实质上是反转链表上的内容: 若链表存储的数据是:1->2->3->4->5; 那么反转后则是:5->4->3->2-&g ...
- python 链表倒数第k个节点_链表-删除单链表中倒数第k个节点
题目 实现一个函数,一个可以删除单链表中倒数第k个节点 难度 简单 分析 本题比较简单,实现方法多种多样,这里提供一种方法 首先明确一点,在单链表中删除倒数第k个节点,需要找到他的前一个节点,让前一个 ...
- 单链表-删除单链表L中奇数号节点(双指针法)
题意: 有一个带头节点的单链表L,设计一个算法,删除其中第1,3,5,7号-节点,即删除奇数号的节点. 单链表的存储结构: typedef struct LinkList{int data;LinkL ...
- matlab 查找字符串中第一个不为空格的_替换空格(剑指offer第三题)
替换空格 题目:请实现一个函数,把字符串 s 中的每个空格替换成"%20". 示例 1: 输入:s = "We are happy." 输出:"We% ...
- list中删除另一个list中相同属性值
1. list中添加元素 原生方法,需要多行List<Teacher> teacherList = new ArrayList();teacherList .add(teacher1);t ...
- Python Tricks(六)—— 删除一个可迭代序列中等于某值的全部元素
虽然简单,其实考察的内容很多: str 也是可迭代类型,str 有一套自己的成员函数: tuple 也是可迭代类型,但其自身不可改变: def removeall(item, seq):if isin ...
最新文章
- 分布式锁的三种实现方式_基于 redis 的分布式锁实现
- 【2020】清华大学《高级机器学习》课件和专家特邀报告(附pdf下载)
- 天玑机器人颈椎_烟台一女子车祸致颈椎重度骨折 骨科机器人助力救治
- jetson nano 人脸
- UI+Class Object
- hdu1443 Joseph(约瑟夫环)
- 第21章:MongoDB-聚合操作--聚合管道--$geoNear
- computed vs methods
- 鸟哥私房菜(基础篇第三版)笔记
- python批量生成图片_利用Python批量生成任意尺寸的图片
- Java集合——HashMap、HashTable以及ConCurrentHashMap异同比较
- 更改yum源配置后执行报错[Errno 14] PYCURL ERROR 22 - “The requested URL returned error: 404 Not Found”
- 怡丰机器人上市_【利元亨 | 复盘】十家自动停车机器人大PK,你更看好谁?
- 生产质量分析,助力企业掌握影响质量的全量数据
- python视频格式转换命令_音视频格式转换
- Android VideoView播放视频详细步骤
- 一个简单的登录注册网页的实现
- typedef——用法总结
- dji Tello edu 开发
- mxnet的rec数据中还原图片
热门文章
- 关于大XML文件与大节点处理(System.Xml.XmlTextReader)
- Spring 的@Scheduled注解实现定时任务运行和调度
- 【LeetCode OJ】Same Tree
- 案例:用JS实现放大镜特效
- 2007最优秀的CSS网站设计
- Android自动化测试之Shell脚本一——模拟触屏事件
- 深入探秘 Netty、Kafka 中的零拷贝技术!
- 【高并发】你敢信??HashMap竟然干掉了CPU!!
- 嘿嘿,我就知道面试官接下来要问我 ConcurrentHashMap 底层原理了,看我怎么秀他...
- 漫画谈一下Maven依赖,百分之90的同学不知道!